1

我正在尝试在 Visual Studio 2005 中构建一个需要 Boost 1.44.0 的项目(我知道它很旧,但我必须使用这些版本)。我已经用 bjam 构建了它,正如它在 VS 2005 命令提示符中的以下行中提到的那样:

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依赖于System,但libboost_system已经生成。我尝试在/stage/lib的库中搜索,但找不到函数getaddrinfo 。

4

0 回答 0