社区,
使用Embarcadero构建和使用Log4cplus库时遇到以下问题。首先,我从http://sourceforge.net/p/log4cplus/wiki/Home/下载该库,然后导航到要构建我的库的目录,然后键入cmake -G“ Borland Makefiles” mypathtotherootomypreviousdownload。然后说,构建文件已被写入当前目录。现在,我启动MSYS sh.exe并键入make。这也可以。我得到一个带有该库的各种工作测试(作为exe文件)的bin文件夹。在此bin文件夹中,还有一个dll log4cplusUD.dll。现在,我还在src文件夹中找到了相应的LIB log4cplusUD.lib。我当然很熟悉如何将动态库与Embarcadero静态链接。但是在尝试编译时
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
#include "log4cplus/logger.h"
#include "log4cplus/consoleappender.h"
#include "log4cplus/loglevel.h"
#include <log4cplus/loggingmacros.h>
#include <iomanip>
using namespace std;
using namespace log4cplus;
int _tmain(int argc, _TCHAR* argv[])
{
log4cplus::initialize ();
SharedAppenderPtr append_1(new ConsoleAppender());
append_1->setName(LOG4CPLUS_TEXT("First"));
Logger::getRoot().addAppender(append_1);
Logger root = Logger::getRoot();
Logger test = Logger::getInstance(LOG4CPLUS_TEXT("test"));
LOG4CPLUS_DEBUG(root,
"This is"
<< " a reall"
<< "y long message." << endl
<< …
Run Code Online (Sandbox Code Playgroud)