我使用Visual Studio 2012并且开始使用poco库时遇到了问题。 以下代码:
#include "stdafx.h"
#include "Poco/StreamCopier.h"
#include "Poco/Net/SocketAddress.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/SocketStream.h"
#include <iostream>
int main(int argc, char** argv)
{
Poco::Net::SocketAddress sa("www.appinf.com", 80);
Poco::Net::StreamSocket socket(sa);
Poco::Net::SocketStream str(socket);
str << "GET / HTTP/1.1\r\n"
"Host: www.appinf.com\r\n"
"\r\n";
str.flush();
Poco::StreamCopier::copyStream(str, std::cout);
return 0;
}
引发以下错误:
C:\Users\christof\Documents\Visual Studio 2012\Projects\FTP\poco-1.4.6p3\poco-1.4.6p3\bin\PocoNet.dll : fatal error LNK1107: Invalid or broken file: Reading 0x2C0 not possible.
PocoNet.dll恰好位于正确的位置。我在附加依赖项和lib位置中添加了dll。但我仍然得到同样的错误。 我认为这是一个绝对的初学者失败,因为我是一个绝对的初学者,使用c ++和Visual Studio。我认为我没有正确联系,但我不知道更好。 我希望有一个人可以帮助我。提前致谢,祝你有个愉快的一天。
答案 0 :(得分:0)
首先,您的调用应用程序必须加载PocoFoundation.dll
,之后您可以使用课程Poco::SharedLibrary
加载PocoNet.dll
和Poco::ClassLoader
实例化您需要的对象。
如果定义PocoXxxx.dll
,则可以静态加载每个POCO_STATIC
,如果定义POCO_DLL
,则可以动态加载{{1}}。
有关更多信息,请参阅PocoSharedLibraries.pdf