Hi, The project configuration is different between debug and release. In debug you certainly added log4cxx.lib in the field "Linker/Input/Additional dependencies" but you have a drop-down which select the configuration, if you switch to release, I think you don't have log4cxx.lib in "Additional dependencies" .
Don't forget to add the directory of this lib in the field "Linker/General/Additional Library Directories" log4cxx.lib is not really a static lib. It's only the interface to the dll class and functions. I hope it help you. On Fri, May 7, 2010 at 04:00, Jean-Denis Muys <jdm...@mac.com> wrote: > 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 > >