Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
c++ - 8.49 link trouble from IDDE
Sorry to post here, but the idde group is sort of silent. I have observed a small but annoying issue when linking programs from w/in the 8.49 idde. This occurs when using the stlport includes. I have not tested it any other way. Specifically, UNLESS the libpath c:\dm\lib is explicitly set in the project settings in Library Directories, the link cannot complete and reports the error: link /NOI /DE /E /PACKF /XN /NT /ENTRY:mainCRTStartup /BAS:4194304 /A:512 hello.LNK Warning: C:\tmp\KERNEL32.LIB (12361600): File Not Found KERNEL32.LIB Warning: C:\tmp\GDI32.LIB (65568): File Not Found GDI32.LIB Warning: C:\tmp\USER32.LIB (65568): File Not Found USER32.LIB Warning: C:\tmp\stlp45dm.lib (3459476): File Not Found stlp45dm.lib Warning: C:\tmp\SNN.lib (12620356): File Not Found SNN.lib Error: No Match Found for Export/ENTRY - : mainCRTStartup Error: C:\tmp\hello.OBJ(hello) (3459468): Symbol Undefined __acrtused_con Error: C:\tmp\hello.OBJ(hello) (31): Symbol Undefined ?sbumpc ? $basic_streambuf std DV?$char_traits std D 1 std QAEHXZ Error: C:\tmp\hello.OBJ(hello) (7451597): Symbol Undefined ? rdstate ios_base std QBEHXZ (int syscall std::ios_base::rdstate(void ) const ) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ? _M_clear_nothrow ios_base std IAEXH Z (void syscall std::ios_base::_M_clear_nothrow(int )) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ? _M_check_exception_mask ios_base std IAEXXZ (void syscall std::ios_base::_M_check_exception_mask(void )) Error: C:\tmp\hello.OBJ(hello) (8972012): Symbol Undefined ? good ios_base std QBE_NXZ Error: C:\tmp\hello.OBJ(hello) (1): Symbol Undefined ?pubsync ? $basic_streambuf std DV?$char_traits std D 1 std QAEHXZ Error: C:\tmp\hello.OBJ(hello) (1): Symbol Undefined ?to_int_type ? $char_traits std D std SAHABD Z (int cdecl std::D::d::char_traits<>::to_int_type(char const &)) Error: C:\tmp\hello.OBJ(hello) (6825758): Symbol Undefined ??3 YAXPAX Z (void cdecl delete(void *)) Error: C:\tmp\hello.OBJ(hello) (3553698): Symbol Undefined ?? 1ios_base std UAE XZ (syscall std::ios_base::~ios_base(void )) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ? flags ios_base std QBEHXZ (int syscall std::ios_base::flags(void )const ) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ?length ? $char_traits std D std SAIPBD Z (unsigned cdecl std::D::d::char_traits<>::length(char const *)) Error: C:\tmp\hello.OBJ(hello) (3459400): Symbol Undefined ? width ios_base std QBEHXZ (int syscall std::ios_base::width(void )const ) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ?sputn ? $basic_streambuf std DV?$char_traits std D 1 std QAEHPBDH Z Error: C:\tmp\hello.OBJ(hello) (3459408): Symbol Undefined ?_M_sputnc ? $basic_streambuf std DV?$char_traits std D 1 std QAEHDH Z Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ? width ios_base std QAEHH Z (int syscall std::ios_base::width(int )) Error: C:\tmp\hello.OBJ(hello) (8972012): Symbol Undefined __fatexit Error: C:\tmp\hello.OBJ(hello) (1826572): Symbol Undefined ?? 0Init ios_base std QAE XZ (syscall std::ios_base::Init::Init(void )) Error: C:\tmp\hello.OBJ(hello) : Symbol Undefined ?? 0_Loc_init ios_base std QAE XZ (syscall std::ios_base::_Loc_init::_Loc_init (void )) Error: C:\tmp\hello.OBJ(hello) (3459392): Symbol Undefined ?? 1_Loc_init ios_base std QAE XZ (syscall std::ios_base::_Loc_init::~_Loc_init (void )) Error: C:\tmp\hello.OBJ(hello) (7942676): Symbol Undefined ?? 1Init ios_base std QAE XZ (syscall std::ios_base::Init::~Init(void )) Error: C:\tmp\hello.OBJ(hello) (11342776): Symbol Undefined ?cin std 3V? $basic_istream std DV?$char_traits std D 1 1 A Error: C:\tmp\hello.OBJ(hello) (11342776): Symbol Undefined ?cout std 3V? $basic_ostream std DV?$char_traits std D 1 1 A Errors: 24 Warnings: 5 Build failed HOWEVER, when I add c:\dm\lib to the Library Directories, the link completes with no errors: link /NOI /DE /E /PACKF /XN /NT /ENTRY:mainCRTStartup /BAS:4194304 /A:512 hello.LNK ren .\$SCW$.EXE hello.EXE Errors: 0 Warnings: 0 Successful build Now, looking at the Makefile, you will see the only difference between success and failure. The first block was when I tested debug WITH the libpath set. The second was with RELEASE and no path set. The error occurs only when c:\dm\lib is absent before KERNEL32....It has nothing to do with DEBUG or RELEASE. I can reverse it and repeat the error. # this block links hello.OBJ $$SCW$$.EXE NUL c:\dm\lib\ KERNEL32.LIB GDI32.LIB USER32.LIB hello.DEF; << # this block does NOT link !ELSE .OBJ.EXE: $(LNK) $(LFLAGS) $(PROJ).LNK<< hello.OBJ $$SCW$$.EXE NUL KERNEL32.LIB GDI32.LIB USER32.LIB hello.DEF; << Now, from the command line, dmc ...hello.cpp works fine with no error. I can only guess the problem is somewhere w/in the IDDE. Here is sc.ini [Version] version=7.51 Build 020 [Environment] PATH=%PATH%;% P% BIN=% P% INCLUDE=% P%\..\stlport\stlport;% P%\..\include;% P%\..\mfc\include;%INCLUDE% LIB=% P%\..\lib;% P%\..\mfc\lib;%LIB% HELP=% P%\..\help To me, it seems to be redundant and unnecessary to have to manually add the library path to each project! Is this a problem with the IDDE? A bug possibly? I use wine, but have been able to duplicate the problem exactly on XP as well. -- Peter Feb 19 2007
On Mon, 19 Feb 2007 11:29:16 +0000, Peter wrote:Sorry to post here, but the idde group is sort of silent. I have observed a small but annoying issue when linking programs from w/in the 8.49 idde. This occurs when using the stlport includes. I have not tested it any other way. Feb 19 2007
Is DMC in the default location on your hard disk? Does it work if you set the LIB environment variable to point to where the library files are? Feb 19 2007
On Mon, 19 Feb 2007 12:29:06 -0800, Walter Bright wrote:Is DMC in the default location on your hard disk? Feb 19 2007
Peter wrote:On Mon, 19 Feb 2007 12:29:06 -0800, Walter Bright wrote:Is DMC in the default location on your hard disk? Feb 20 2007
Peter wrote:Problem persists. Feb 20 2007
Peter wrote:On Tue, 20 Feb 2007 02:56:52 -0800, Walter Bright wrote:Peter wrote:Problem persists. Feb 20 2007
On Tue, 20 Feb 2007 01:14:17 -0800, Walter Bright wrote:Peter wrote:On Mon, 19 Feb 2007 12:29:06 -0800, Walter Bright wrote:Is DMC in the default location on your hard disk? Feb 20 2007
On Tue, 20 Feb 2007 02:56:52 -0800, Walter Bright wrote:Peter wrote:Problem persists. Feb 20 2007
On Tue, 20 Feb 2007 02:56:52 -0800, Walter Bright wrote:Peter wrote:Problem persists. Feb 20 2007
|