我试图在Visual Studio 2005中构建一个需要Boost 1.44.0的项目(我知道它已经很久了,但我必须使用这些版本)。我已经使用bjam构建它,因为它在VS 2005命令提示符中使用以下行提及here:
bjam --toolset=msvc-8.0 --build-type=complete link=static threading=multi architecture=x86 address-model=64 --with-system stage
我已将库路径设置为:
...\boost_1_44_0\stage\lib
和包含:
...\boost_1_44_0
但是当我尝试构建整个解决方案时,链接过程会引发以下错误:
Error 1 error LNK2019: unresolved external symbol __imp__getaddrinfo@16 referenced in function "class boost::system::error_code __cdecl boost::asio::detail::socket_ops::getaddrinfo(char const *,char const *,struct addrinfo const &,struct addrinfo * *,class boost::system::error_code &)" (?getaddrinfo@socket_ops@detail@asio@boost@@YA?AVerror_code@system@4@PBD0ABUaddrinfo@@PAPAU7@AAV564@@Z) TAsioSocket.obj
和
Error 2 error LNK2019: unresolved external symbol __imp__freeaddrinfo@4 referenced in function "void __cdecl boost::asio::detail::socket_ops::freeaddrinfo(struct addrinfo *)" (?freeaddrinfo@socket_ops@detail@asio@boost@@YAXPAUaddrinfo@@@Z) TAsioSocket.obj
我认为它必须是库生成的东西,但我不知道什么(也许我在生成Boost Libs时错过了命令输入?)。我知道 Asio 取决于系统,但已生成 libboost_system 。我尝试在 / stage / lib 的库中搜索,但无法找到函数 getaddrinfo 。