c++.windows.32-bits - Three problems with linking and compiling
- Micke (40/40) Apr 24 2002 Problem 1, linking:
- Walter (7/28) Apr 25 2002 This means the length of an identifier exceeds the limit of the .obj fil...
- Micke (20/45) Apr 25 2002 It looks like that these three typedefs that have been commented out
- Walter (6/12) Apr 25 2002 I did some more checking. This is a fault of the Microsoft OMF library f...
- Jan Knepper (4/4) Apr 25 2002 I've got a pached version of LIB.exe with an extended IDMAX... (I think ...
- Walter (4/8) Apr 25 2002 that it
Problem 1, linking: If I try to link these object files to an static library from the ide it shows fatal error. I'm using templates and exceptions. And if I try to run linking manually I got this error Digital Mars Librarian Version 7.6B3n Copyright (C) Digital Mars 2000. All Rights Reserved. action-object [-+*] (.obj) + c:\tmp\tools\gd.OBJ + c:\tmp\tools \gdfonts.OBJ + c:\tmp\tools\gif_MH_DC.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHChart.OBJ + c: \tmp\tools\MHCrypt.OBJ + c:\tmp\tools\MHDate.OBJ + c:\tmp\tools\MHDateChart.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHDC.OBJ + c: \tmp\tools\MHDebug.OBJ + c:\tmp\tools\MHDom.OBJ + c :\tmp\tools\MHDouble.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHException.OBJ + c:\tmp\tools\MHGrid.OBJ + c:\tmp\tools\MHNumCh art.OBJ + c:\tmp\tools\MHPoint.OBJ & action-object [-+*] (.obj) + c:\tmp\tools\MHSignal.OBJ + c:\tmp\tools\MHTest.OBJ + c:\tmp\tools\MHUtil.OBJ list file (.lst) output library file (.lib) Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program termination Problem 2, compiling fltk gui library These functions seems to be the same for the compiler. They compile with gcc and msvc. I removed all "dublicates" and it works ok with dm but... FL_EXPORT int fl_draw_pixmap(/*const*/ char* const* data, int x,int y,Fl_Color=FL_GRAY); FL_EXPORT int fl_draw_pixmap(const char* const* data, int x,int y,Fl_Color=FL_GRAY); Problem 3, berkeley db library The compiler failes with log\log_archive.c and a call to getcwd function. It never stops compiling until it runs out of memory. The library does have an config.h for different kind of settings but it doesn't do me any wiser. I'm using xp by the way. /Micke
Apr 24 2002
"Micke" <drontman home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese 63.105.9.61...Problem 1, linking: If I try to link these object files to an static library from the ide it shows fatal error. I'm using templates and exceptions. And if I try to run linking manually I got this error Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program terminationThis means the length of an identifier exceeds the limit of the .obj file format.Problem 2, compiling fltk gui library These functions seems to be the same for the compiler. They compile with gcc and msvc. I removed all "dublicates" and it works ok with dm but... FL_EXPORT int fl_draw_pixmap(/*const*/ char* const* data, int x,int y,Fl_Color=FL_GRAY); FL_EXPORT int fl_draw_pixmap(const char* const* data, int x,int y,Fl_Color=FL_GRAY);This has been reported, but I haven't fixed it yet.Problem 3, berkeley db library The compiler failes with log\log_archive.c and a call to getcwd function. It never stops compiling until it runs out of memory. The library does have an config.h for different kind of settings but it doesn't do me any wiser.If you could isolate it down to the smallest reproducible test case, and email it to me, I can likely get it fixed. -Walter
Apr 25 2002
"Walter" <walter digitalmars.com> wrote in news:aa89n0$2583$3 digitaldaemon.com:"Micke" <drontman home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese 63.105.9.61...It looks like that these three typedefs that have been commented out is the source of the problem. Is there anything I can do about it ? typedef vector<string> StringVect; typedef vector<string> StringVect; typedef vector<string>::iterator StringVectIt; typedef vector<string>::reverse_iterator StringVectRIt; typedef vector<double> DoubleVect; typedef vector<double>::iterator DoubleVectIt; typedef map<string,double> DoubleMap; //typedef map<string,double>::iterator DoubleMapIt; typedef map<string,int> IntMap; //typedef map<string,int>::iterator IntMapIt; typedef map<string,string> StringMap; //typedef map<string,string>::iterator StringMapIt;Problem 1, linking: If I try to link these object files to an static library from the ide it shows fatal error. I'm using templates and exceptions. And if I try to run linking manually I got this error Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program terminationThis means the length of an identifier exceeds the limit of the .obj file format.The source is to big to create a test case, but I solved it quick and dirty by taking getcwd source from the library source and rename the function and pasted it into the file that was giving me the problem. /MickeProblem 3, berkeley db library The compiler failes with log\log_archive.c and a call to getcwd function. It never stops compiling until it runs out of memory. The library does have an config.h for different kind of settings but it doesn't do me any wiser.If you could isolate it down to the smallest reproducible test case, and email it to me, I can likely get it fixed. -Walter
Apr 25 2002
"Micke" <drontman home.se> wrote in message news:Xns91FBE4FFA1486drontmanhomese 63.105.9.61..."Walter" <walter digitalmars.com> wrote in news:aa89n0$2583$3 digitaldaemon.com:You mean uncommenting them produces the problem? It doesn't look like "map" can be reduced in length very effectively. Sigh."Micke" <drontman home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese 63.105.9.61...It looks like that these three typedefs that have been commented out is the source of the problem. Is there anything I can do about it ? typedef vector<string> StringVect; typedef vector<string> StringVect; typedef vector<string>::iterator StringVectIt; typedef vector<string>::reverse_iterator StringVectRIt; typedef vector<double> DoubleVect; typedef vector<double>::iterator DoubleVectIt; typedef map<string,double> DoubleMap; //typedef map<string,double>::iterator DoubleMapIt; typedef map<string,int> IntMap; //typedef map<string,int>::iterator IntMapIt; typedef map<string,string> StringMap; //typedef map<string,string>::iterator StringMapIt;Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp' abnormal program terminationThis means the length of an identifier exceeds the limit of the .obj file format.The source is to big to create a test case, but I solved it quick and dirty by taking getcwd source from the library source and rename the function and pasted it into the file that was giving me the problem.Ok, but I can't solve the problem in the compiler that way <g>.
Apr 25 2002
"Walter" <walter digitalmars.com> wrote in news:aaatg6$23rq$2 digitaldaemon.com:You mean uncommenting them produces the problem? It doesn't look like "map" can be reduced in length very effectively. Sigh.After more testing it looks like using stl gives unpredictable result. I really can't say exact what with stl that creates the problem. In one case I had several overloads of operators and when I added the ">" operator in a class the ide crached during compiling. Then I found that I had included stl and had a few test lines with stl in another file and when I removed those lines it worked. I can't reproduce a good test case, sorry about that.
Apr 27 2002
"Micke" <drontman home.se> wrote in message news:Xns91FAD79551A5Ddrontmanhomese 63.105.9.61...Problem 1, linking: If I try to link these object files to an static library from the ide it shows fatal error. I'm using templates and exceptions. And if I try to run linking manually I got this error Assertion failure: 'len <= IDMAX' on line 129 in file 'libin.cpp'I did some more checking. This is a fault of the Microsoft OMF library file format. It does not allow identifiers exceeding 512 or so in length. The only solution is to shorten the identifiers or link in those .obj files separately.
Apr 25 2002
I've got a pached version of LIB.exe with an extended IDMAX... (I think that it what the name of the #define was...) Seems to work just fine! Jan
Apr 25 2002
"Jan Knepper" <jan smartsoft.cc> wrote in message news:3CC7EED1.4C3455DD smartsoft.cc...I've got a pached version of LIB.exe with an extended IDMAX... (I thinkthat itwhat the name of the #define was...) Seems to work just fine! JanIt shouldn't work :-( the dictionary in it might be corrupt.
Apr 25 2002