Bug #14188 2008-07-12 14:52

jimp

Borland DLL Link Command is Missing the Startup Object

The Borland compiler option for "link object files to executable" and "link object files to console executable" include a startup object module (c0w32 and c0x32 respectively).

The option "link object files to dynamic library" does not have the startup module c0d32 included. Not having it may cause the link errors:

Error: Unresolved external '___CPPdebugHook' referenced from C:\PROGRAMS\BORLAND\BCC55\LIB\CW32.LIB|xx

Error: Unresolved external '___System__GetTls' referenced from C:\PROGRAMS\BORLAND\BCC55\LIB\CW32.LIB|xxv

There is information on the startup objs and libs at

https://svn.origo.ethz.ch/scoop/es_scoop_60/Eiffel/doc/compiler/c_compilers/borland.html

The current compiler option in compilerBCC.cpp, line 149:

"$linker -q $libdirs -Tpd $link_options $link_objects,$exe_output,,$libs,,$link_resobjects"

The compiler option in compilerBCC.cpp with c0d32:

$linker -q $libdirs -Tpd $link_options c0d32 $link_objects,$exe_output,,$libs,,$link_resobjects

NOTE: For a test program you can use Artistic Style compiled as a dll.

Compiler flags: -tWD -w

Compiler defines: ASTYLE_LIB

Link libraries: cw32 import32

Linker options: -c -Gn -x

Category
 
Group
 
Status
Open
Close date
 
Assigned to