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