Hi,
I just tried to compile various flavours of log4cxx and encountered some
problems:
1. `ant clean; ant` builds the default configuration (debug/shared)
This works fine! :-)
2. `ant clean; ant -Ddebug=true -Dlib.type=shared` fail at linking the
unittests:
> build-unittest:
> [cc] Starting dependency analysis for 87 files.
> [cc] 87 files are up to date.
> [cc] 0 files to be recompiled from dependency analysis.
> [cc] 0 total files to be compiled.
> [cc] Starting link
> [cc] asyncappendertestcase.obj : error LNK2001: Nicht aufgel÷stes externes
Symbol ""public: void __thiscall CppUnit::TestFactoryRegis
> try::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [cc] obsoleterollingfileappendertest.obj : error LNK2001: Nicht
aufgel÷stes externes Symbol ""public: void __thiscall CppUnit::TestFa
> ctoryRegistry::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [cc] cacheddateformattestcase.obj : error LNK2001: Nicht aufgel÷stes
externes Symbol ""public: void __thiscall CppUnit::TestFactoryRe
> gistry::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [cc] filenamepatterntestcase.obj : error LNK2019: Verweis auf nicht
aufgel÷stes externes Symbol ""public: void __thiscall CppUnit::Te
> stFactoryRegistry::registerFactory(class CppUnit::TestFactory *)"
([EMAIL PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)" i
> n Funktion ""public: __thiscall CppUnit::AutoRegisterSuite<class
FileNamePatternTestCase>::AutoRegisterSuite<class FileNamePatternTestCase>(
> void)" ([EMAIL PROTECTED]@@@CppUnit@@[EMAIL PROTECTED])".
> [cc] telnetappendertestcase.obj : error LNK2001: Nicht aufgel÷stes
externes Symbol ""public: void __thiscall CppUnit::TestFactoryRegi
> stry::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [cc] obsoletedailyrollingfileappendertest.obj : error LNK2001: Nicht
aufgel÷stes externes Symbol ""public: void __thiscall CppUnit::T
> estFactoryRegistry::registerFactory(class CppUnit::TestFactory *)"
([EMAIL PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [...]
Hundreds of similar error messages follow ...
In the default case, there's static version of cppunit in the
target/debug/static directory. This is missing in this version.
3. `ant clean; ant -Ddebug=true -Dlib.type=static` compiles fine. :-)
4. `ant clean; ant -Ddebug=false -Dlib.type=shared` also fails at linking the
unittests. :-(
> build-unittest:
> [mkdir] Created dir:
C:\Project\log4cxx.test\target\release\shared\log4cxx-test_obj
> [cc] 87 total files to be compiled.
> [cc] nteventlogappendertestcase.cpp
> [cc] iso8601dateformattestcase.cpp
> [cc] socketappendertestcase.cpp
> [...]
> [cc] minimumtestcase.cpp
> [cc] asyncappendertestcase.cpp
> [cc] obsoleterollingfileappendertest.cpp
> [cc] cacheddateformattestcase.cpp
> [cc] Code wird generiert...
> [cc] Starting link
> [cc] asyncappendertestcase.obj : error LNK2001: Nicht aufgel÷stes
externes Symbol ""public: void __thiscall CppUnit::TestFactoryRegis
try::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [cc] obsoleterollingfileappendertest.obj : error LNK2001: Nicht
aufgel÷stes externes Symbol ""public: void __thiscall CppUnit::TestFa
> ctoryRegistry::registerFactory(class CppUnit::TestFactory *)" ([EMAIL
PROTECTED]@CppUnit@@[EMAIL PROTECTED]@@Z)".
> [...]
Hundreds of similar error messages follow ...
Once again a static version of cppunit is missing, but this time, theres a
dynamic one in target/release/shared.
5. `ant clean; ant -Ddebug=false -Dlib.type=static` compiles fine. :-)
I hope, this is of interest for you. Unfortunately, I still don't know much
about ant.
Regards,
Torsten