Board index » cppbuilder » [BDS2006] Linker error creating a new ActiveX library

[BDS2006] Linker error creating a new ActiveX library


2006-02-16 11:05:44 PM
cppbuilder95
Hi,
can anybody please verify:
Create a new C++ Builder ActiveX library. Save and compile. You get a couple
of linker errors. Now change linker option and disable dynamic RTL. Save and
recompile. Now you get even more errors.
Is there any way to fix this without manually editing of the project file?
And if I do this, what libs should I add?
--
Regards
Martin Rothschink
 
 

Re:[BDS2006] Linker error creating a new ActiveX library

"Martin Rothschink" < XXXX@XXXXX.COM >wrote in message
Quote
Create a new C++ Builder ActiveX library. Save and compile. You
get a couple of linker errors. Now change linker option and disable
dynamic RTL. Save and recompile. Now you get even more errors.
What are the actual errors?
Gambit
 

Re:[BDS2006] Linker error creating a new ActiveX library

Remy Lebeau (TeamB) wrote:
Quote
>Create a new C++ Builder ActiveX library. Save and compile. You
>get a couple of linker errors. Now change linker option and disable
>dynamic RTL. Save and recompile. Now you get even more errors.

What are the actual errors?
Ok, here are the exact steps:
1. Create a new C++Builder Project: ActiveX library
2. Save project and compile. OK.
3. Change Linker settings and remove dynamic RTL, remove use packages to
create a statically linked DLL.
4. Recompile, now you get errors:
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EDivByZero::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe '__fastcall
Sysutils::Exception::Exception(const System::AnsiString)' referenziert von
C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::ERangeError::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EIntOverflow::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EInvalidOp::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EZeroDivide::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EOverflow::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EUnderflow::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EAccessViolation::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EPrivilege::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EControlC::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Sysutils::EStackOverflow::'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
[Linker Fehler] Error: Ungelöste externe 'Typinfo::BooleanIdents'
referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\VCLE.LIB|vclinit
[Linker Fehler] Error: Ungelöste externe 'Typinfo::DotSep' referenziert von
C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\VCLE.LIB|vclinit
[Linker Fehler] Error: Ungelöste externe '__fastcall
Sysutils::FindCmdLineSwitch(const System::AnsiString, const
System::Set<char, 0, 255>&, bool)' referenziert von
C:\PROGRAMME\BORLAND\BDS\4.0\LIB\BCBATL.LIB|bcbatllib
[Linker Fehler] Error: Ungelöste externe '__fastcall
Varhlpr::VariantClear(System::Variant&)' referenziert von
C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\VCLE.LIB|variant
5. To fix this, close BDS and open the project file. Add rtl.lib to this
node:
<property category="build.node" name="libraries" value="vclnp.lib"/>
like so
<property category="build.node" name="libraries" value="vclnp.lib"/>
This fix is lost as soon as you change any settings.
6. Restart BDS2006, recompile. OK only for the first run.
7. Rebuild the project. Now I often get an internal compiler error
[C++ Fataler Fehler] Project1.cpp(7): F1004 Interner Compiler-Fehler at
0xd12d304 with base 0xd100000
8. And if you look carefully at the project file you notice another bug. The
ProjectType is set to Application instead of CppDynamicLibrary.
--
Regards
Martin Rothschink
 

{smallsort}