Re: [Alephmodular-devel] Tag: xcode-transitional
Status: Pre-Alpha
Brought to you by:
brefin
From: Br'fin <br...@ma...> - 2003-11-03 22:49:12
|
On Nov 2, 2003, at 2:15 PM, Br'fin wrote: > > As it is, I haven't managed to get ZeroLink to work. I get one > undefined symbol relating to the destructor of ofstream of ostream ( > __ZTv0_n12_NSoD0Ev ) I don't know what is missing or how to debug and > fix this. I'd like to fix the problem for completeness sake and to > ensure it's not causing other problems during normal deployment builds > where everything is linked normally. > I've filed a bug with Apple about this issue and ZeroLink. I was able to reproduce the error in a quick form with the code at the end of this email. Here is a URL that while it isn't the same error, does point out the trickiness of the setup. http://gcc.gnu.org/ml/gcc-bugs/1999-02n/msg00293.html They have complaints about problems with virtual dispatch from a virtual base class. A situation where the below would fail on delete. > ostream* strm; > strm = new ofstream(fileName); > delete strm; (ofstream has a virtual destructor, and has a virtual base class) Some of what Alexander was doing under 10.3 was hitting a crash on the delete of our ofstream. So everything rings fairly similar. I'll have to leave ZeroLink off for now and deal with it later once I have more information. -Jeremy Parsons // This code compiles and runs fine in Deployment mode. // However, when ZeroLink is enabled the program fails with the message: // ZeroLink: unknown symbol '__ZTv0_n12_NSoD0Ev' #include <fstream> #include <iostream> using namespace std; class MyOFStream : public ofstream { public: MyOFStream() { cout << "constructing MyOFStream" << endl; } ~MyOFStream() { cout << "destructing MyOFStream" << endl; } }; int main () { MyOFStream* s = new MyOFStream(); delete s; return 0; } |