2014-03-27 1 views
1

Visual Studio 2010과 함께 cpp-netlib를 사용하려고합니다. cpp-netlib을 빌드하고 .lib 파일을 프로젝트에 추가했지만 컴파일 할 수 없습니다.Visual Studio 2010에서 cpp-netlib을 사용하는 방법은 무엇입니까?

  • 윈도우 7 64 --environment
  • 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 포함 경로를 추가했습니다. 부스트 및 openssl 경로도 추가되었습니다. 프로젝트에 libs를 추가했습니다.

  • 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- 클라이언트 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 " ([email protected]@[email protected]@[email protected]@@[email protected]@[email protected]@@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 *)" ([email protected]@[email protected]@[email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@Z) で参照されました。 cppnetlib-client-connections.lib(client.obj) 
エラー 43 error LNK2019: 未解決の外部シンボル _BIO_free が関数 "public: __thiscall boost::asio::ssl::detail::engine::~engine(void)" ([email protected]@[email protected]@[email protected]@[email protected]) で参照されました。 cppnetlib-client-connections.lib(client.obj)  

내가 누락 된 부분을 말해 줄 수 있습니까? 프로젝트에 libs를 더 추가하려고 시도했지만 여전히 작동하지 않았습니다.

+0

'BIO_ctrl()'과 친구들은 실제로 OpenSSL의 일부입니다. 라이브러리를 링커 설정에 추가 했습니까? –

+0

고마워요! OpenSSL 라이브러리를 추가하지 않았습니다. libeay와 ssleay를 추가하면 오류가 발생했습니다. –

답변

0

이 두 라이브러리를 추가해야합니다.

libeay32.lib ssleay32.lib

0

내가 SSL의 WIN32 버전 대신 X64 버전을 사용하여 고정을 제외하고 내가 같은 문제 다 퉜다.

관련 문제