我正在尝试将 cpp-netlib 与 Visual Studio 2010 一起使用。我已经构建了 cpp-netlib 并将 .lib 文件添加到我的项目中,但我无法编译它们。
- 环境
- 视窗 7 x64
- cpp-netlib 0.11.0
- 提升 1.55.0
- Win32 OpenSSL v1.0.1f
我的代码在这里。
#include <boost/network/protocol/http/client.hpp>
#include <iostream>
int main(int argc, char *argv[]) {
using namespace boost::network;
if (argc != 2) {
std::cout << "Usage: " << argv[0] << " [url]" << std::endl;
return 1;
}
http::client client;
http::client::request request(argv[1]);
request << header("Connection", "close");
http::client::response response = client.get(request);
std::cout << body(response) << std::endl;
return 0;
}
我将 cpp-netlib 库路径和 cpp-netlib 包含路径添加到项目中。还添加了 Boost 和 openssl 路径。我将库添加到项目中。
- libboost_system-vc100-mt-gd-1_55.lib
- libboost_date_time-vc100-mt-gd-1_55.lib
- libboost_regex-vc100-mt-gd-1_55.lib
- cppnetlib-client-connections.lib
- cppnetlib-uri.lib
我认为错误来自与 OpenSSL 相关的东西。
Error 55 error LNK2019: unresolved external symbol - function _BIO_ctrl ...
实际上,我有一个日本的,所以它就像下面一样。
エラー 55 error LNK2019: 未解決の外部シンボル _BIO_ctrl が関数 "public: class boost::system::error_code const & __thiscall boost::asio::ssl::detail::engine::map_error_code(class boost::system::error_code &)const " (?map_error_code@engine@detail@ssl@asio@boost@@QBEABVerror_code@system@5@AAV675@@Z) で参照されました。 cppnetlib-client-connections.lib(client.obj)
エラー 57 error LNK2019: 未解決の外部シンボル _BIO_ctrl_pending が関数 "private: enum boost::asio::ssl::detail::engine::want __thiscall boost::asio::ssl::detail::engine::perform(int (__thiscall boost::asio::ssl::detail::engine::*)(void *,unsigned int),void *,unsigned int,class boost::system::error_code &,unsigned int *)" (?perform@engine@detail@ssl@asio@boost@@AAE?AW4want@12345@P812345@AEHPAXI@Z0IAAVerror_code@system@5@PAI@Z) で参照されました。 cppnetlib-client-connections.lib(client.obj)
エラー 43 error LNK2019: 未解決の外部シンボル _BIO_free が関数 "public: __thiscall boost::asio::ssl::detail::engine::~engine(void)" (??1engine@detail@ssl@asio@boost@@QAE@XZ) で参照されました。 cppnetlib-client-connections.lib(client.obj)
你能告诉我我错过了什么吗?我试图在项目中添加更多的库,但它仍然没有工作。