我正在尝试从poco工作中获取基本的ApplicationServer示例。我正在使用:
Windows 7 MinGW的 波科 日食 C ++
因此,经过一系列的黑客攻击和设置后,我终于开始工作了。但我不知道我的黑客做了什么,我想要一个合适的解决方案,而不是我的黑客。
我遇到的问题是,当我构建时,它给了我一堆“未解析的XX”。这些是从poco库中弹出的,它们不是我在代码中使用的东西。 我的hack已经在我的Server.cpp中查看了引用的每个类,并使用它们。仅仅声明它们是不够的,我必须实际使用该对象。一旦我使用了它抱怨的所有内容,它就会编译并按预期运行。对于知道发生了什么的人来说,这似乎是一种简单的配置解决方案。
我认为我可以得出结论:
所以我的问题是:有谁知道设置错误是什么,这可能会导致这种行为?我如何为此设置一个“干净”的解决方案,而不是我不可接受的凌乱黑客?
My Hacked main解决了这个问题:
int main(int argc, char** argv)
{
std::cout << "test1" << std::endl;
std::cout.flush();
AgentServer app;
app.run(argc, argv);
LoggingFactory::defaultFactory();
AutoPtr<ConsoleChannel> pCCChannel(new ConsoleChannel);
AutoPtr<FileChannel> pChannel(new FileChannel);
pChannel->setProperty("path", "sample.log");
pChannel->setProperty("rotation", "2 K");
pChannel->setProperty("archive", "timestamp");
Logger::root().setChannel(pChannel);
Logger& logger = Logger::get("TestLogger"); // inherits root channel
poco_warning(logger, "This is a warning");
try
{
Path myPath = new Path();
poco_warning(logger, myPath.current());
int i = NumberParser::parse("5");
FileOutputStream myFileOutputStream("test.file");
myFileOutputStream << "test";
OutputLineEndingConverter conv(myFileOutputStream," ");
std::stringstream xmlstream("test");
UTF8Encoding myUTF8Encoding;
XMLWriter writer(xmlstream,0,"UTF-8", &myUTF8Encoding);
std::ostringstream ostr1("test2");
OutputStreamConverter converter1(ostr1,myUTF8Encoding,myUTF8Encoding);
URI uri;
uri.getHost();
URIStreamOpener opener;
opener.open(uri);
} catch(...)
{
poco_warning(logger, "Swallowing exception");
}
//poco_warning(logger,);
//AgentServer app;
//return app.run(argc, argv);
}
答案 0 :(得分:0)
当你构建poco时,你会得到一个名为“lib”的文件夹。因此,让链接器指向包含poco所有库的文件夹。现在不存在任何链接错误。 如果它说* .dll文件丢失: