(note: I am using Codewarrior 9.1, POL, 68k (Standard), no exceptions or RTTI enabled)


So I'm trying to take Ben's web page's (http://www.palmoswerks.com/2001/09/09) advice and use the small memory model. But I'm very close to giving up in disgust and going back to smart. The only reason I haven't is it's frustrating the h*ll out of me that I can't figure out this problem.



The Link Error I get is



Link Error : EditCard.cpp: 'CEditCardForm::RowData::~RowData()' 16-bit code reference to 'POL::CString::~CString()' is out of range.
Link Error : EditCard.cpp: 'CEditCardForm::RowData::~RowData()' 16-bit code reference to 'operator delete(void*)' is out of range.
Link Error: EditCard.cpp: 'CEditCardForm::RowData::~RowData()' 16-bit code reference to 'POL::CString::CString' is out of range.



My segments look like this: Segment 1: PalmOSRuntime_2i_A5.lib MSL_C++_PalmOS_2i_Dbg.lib POLD1.lib <some more files here>


Segments 2-7: ...


Segment :8 EditCard.cpp <one more file here>


The class in question is defined in EditCard.cpp



class CEditCardForm::RowData { public: CString Label; };


I tried rearranging the .libs in the first segment, or moving EditCard.cpp to a different segment, but to no avail.
I have tried reading the map file, but it is utter gibberish to me. I mean, I think I understand what it's saying, it just doesn't seem to tell me anything very useful.



a. what is the solution? ... and more importantly...
b. how do I read the map file so I can figure these linking problems out for myself?



-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/

Reply via email to