Hi,

I have a Visual Studio 2008 project using log4cxx that links (and runs) fine in 
Debug mode using the Debug version of log4cxx, but fails to link in Release 
mode using the release version of log4cxx. Here are the 13 undefined symbols:


1>------ Build started: Project: RepliKator04, Configuration: Release Win32 
------
1>Linking...
1>   Creating library 
z:\PCdev\RepliKator2004\RK_Demo_2004\plugins\RepliKator04.bundle\contents\windows\RepliKator04.lib
 and object 
z:\PCdev\RepliKator2004\RK_Demo_2004\plugins\RepliKator04.bundle\contents\windows\RepliKator04.exp
1>RKConnector.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getTrace(void)" 
(__imp_?gettr...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKConnector.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getDebug(void)" 
(__imp_?getde...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKConnector.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getInfo(void)" 
(__imp_?geti...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKConnector.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getWarn(void)" 
(__imp_?getw...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKConnector.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getError(void)" 
(__imp_?geter...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>4DPlugin.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Logger> __stdcall log4cxx::Logger::getRootLogger(void)" 
(__imp_?getrootlog...@logger@log4cxx@@sg?av?$objectp...@vlogger@log4cxx@@@help...@2@XZ)
1>4DPlugin.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Logger> __stdcall log4cxx::Logger::getLogger(char const * const)" 
(__imp_?getlog...@logger@log4cxx@@sg?av?$objectp...@vlogger@log4cxx@@@help...@2@q...@z)
1>4DPlugin.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static void __stdcall 
log4cxx::BasicConfigurator::configure(void)" 
(__imp_?config...@basicconfigurator@log4cxx@@SGXXZ)
1>4DPlugin.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static void __stdcall 
log4cxx::PropertyConfigurator::configure(class log4cxx::File const &)" 
(__imp_?config...@propertyconfigurator@log4cxx@@sgxabvf...@2@@Z)
1>RKReplikator.connection.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getOff(void)" 
(__imp_?get...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKReplikator.connection.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Level> __stdcall log4cxx::Level::getFatal(void)" 
(__imp_?getfa...@level@log4cxx@@sg?av?$objectp...@vlevel@log4cxx@@@help...@2@XZ)
1>RKReplikator.connection.obj : error LNK2001: unresolved external symbol 
"__declspec(dllimport) public: static class log4cxx::helpers::ObjectPtrT<class 
log4cxx::Logger> __stdcall log4cxx::Logger::getLogger(class 
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
> const &)" 
(__imp_?getlog...@logger@log4cxx@@sg?av?$objectp...@vlogger@log4cxx@@@help...@2@abv?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@@Z)
1>z:\PCdev\RepliKator2004\RK_Demo_2004\plugins\RepliKator04.bundle\contents\windows\RepliKator04.4DX
 : fatal error LNK1120: 13 unresolved externals
1>Build log was saved at 
"file://Z:\PCdev\RepliKator2004\Objs\Release\BuildLog.htm"
1>RepliKator04 - 13 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


As I am a Mac developer, not a Windows developer, I feel lost here. What can I 
do to fix that issue? I really don't get why those symbols would not be defined 
in Release mode.

Note that my project is not an application, but a Plugin for a third party app.
I link against the DLL version of log4cxx. I'd rather use a static library 
version, but I failed to build it so, and I could not find detailed 
instructions on the net to do it.

So for the time being, I am mainly interested in understanding why these 
link-time errors occur, and in how to fix them.

Thanks and regards.

Jean-Denis

Reply via email to