[prev in list] [next in list] [prev in thread] [next in thread]
List: log4cxx-user
Subject: Re: linking errors when trying to use log4cxx as a static library (VC2008)
From: Curt Arnold <carnold () apache ! org>
Date: 2009-05-30 0:38:45
Message-ID: AECB5F0D-4BB3-43B4-9188-FB82F19A467D () apache ! org
[Download RAW message or body]
On May 29, 2009, at 12:09 PM, Gerrit van Doorn wrote:
> Hi,
>
> I compiled log4cxx as a DLL before and it worked perfectly. Now I
> wanted to use log4cxx (version 0.10.0) as a static library. I've set
> the "Configuration Type" to "Static Library .lib" in the log4cxx
> properties and I changed the Preprocessor -> Preprocessor
> definitions to LOG4CXX_STATIC. When I compile in release mode I get
> a library file that is about 14MB big. When I try to use this
> library in a simple program I get the following linker errors:
>
> 1>Linking...
> 1>main.obj : error LNK2001: unresolved external symbol
> "__declspec(dllimport) public: static class
> log4cxx::helpers::ObjectPtrT<class log4cxx::Level> __cdecl
> log4cxx::Level::getWarn(void)" (__imp_?getWarn@Level@log4cxx@@SA?AV?
> $ObjectPtrT@VLevel@log4cxx@@@helpers@2@XZ)
> 1>main.obj : error LNK2001: unresolved external symbol
> "__declspec(dllimport) public: class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &
> __thiscall log4cxx::helpers::MessageBuffer::str(class
> log4cxx::helpers::CharMessageBuffer &)" (__imp_?
> str@MessageBuffer@helpers@log4cxx@@QAEABV?$basic_string@DU?
> $char_traits@D@std@@V?$allocator@D@2@@std@@AAVCharMessageBuffer@23@@Z)
> ...
> What am I doing wrong?
>
> Here is the basic example:
>
> #include <log4cxx/logger.h>
>
> log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger("myLogger"));
>
> void main(void) {
> LOG4CXX_WARN(logger, "Some warning");
> }
>
>
> - Gerrit
Notice that your link errors have __declspect(dllimport) which
indicates that your calling code is still expecting to link with a
log4cxx.dll. Likely, you did not define LOG4CXX_STATIC when you
compiled your application.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic