logo       

Re: Log4cxx in my project, unresolved symbols despite hours of work: msg#00067

Subject: Re: Log4cxx in my project, unresolved symbols despite hours of work

On Nov 29, 2007, at 11:01 AM, Eborn, Eric D wrote:

Thanks Curt

Your advice has gotten me closer to a solution, I changed the projects
calling convention to __cdecl and it builds, which would seem to
indicate that you hunch was correct, I did build log4cxx with that same
convention (though I never specified such, is it a default with ant
perhaps? Or the compiler itself?)


__cdecl is the "C" calling convention and is the default for VC projects and for cl, __stdcall was formerly known as the "Pascal" calling convention but is the convention that is used to call any Win32 API methods which are explictly declared as __stdcall.


The std::vector<_ty> errors that I mentioned were showing up in my
project when I tried to link the shared libs when I didn't include the
STATIC directive.  This occurred for unknown reasons which I didn't
pursue because I didn't require shared libs.

Sounds like that was backwards, LOG4CXX_STATIC should not be used with shared libraries, it should be used with static libraries.



So my filter builds now but I get a strange error when I put any call in the code to log a string (i.e. LOG4CXX_DEBUG(logger, "Debug Test."); ).

The error is as follows:
The instruction at "0x010cecbc" reference memeory at "0x00000034". The
memory could not be "read".  [ok][cancel]

This error goes away and the filter functions as before when I include
the header and even create an instance of the logger variable with:
LoggerPtr logger(Logger::getLogger("MyApp"));



Sorry, I can't make any diagnosis off that description.



I think I would like to rebuilt log4cxx using the same calling
convention as my filter instead of rebuilding my filter with a differenc calling convention, even though I know not what consequences if any this
has.

Please advise.


Sorry, we haven't made any tests using the non-default calling conventions. Remember, you would need to build the whole stack (apr, apr-util and log4cxx consistently, any other third-party code base) with consistent conventions. Don't know any reason for log4cxx, apr or apr-util not to work with any consistent calling convention, just haven't tested it.



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
audio.irate.dev...    yellowdog.gener...    ietf.ips/2002-0...    xfree86.fonts/2...    busybox/2003-07...    emacs.jdee/2004...    linux.mandrake....    hardware.microc...    user-groups.lin...    science.analysi...    version-control...    db.filemaker.de...    cluster.openmos...    mail.eyebrowse....    text.xml.xerces...    kde.devel.kwrit...    finance.moneyda...    gcc.regression/...    network.routing...    os.freebsd.deve...    recreation.radi...    qnx.openqnx.dev...    python.xml/2002...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe