【发布时间】:2010-02-28 19:33:53
【问题描述】:
我正在尝试使用 boost 的 asio 库,但我不断收到未定义的引用。我在使用 G++ 编译器的 Windows 上的 Dev-Cpp。
我使用来自 boostpro 计算的安装程序为 Boost 1.42.0 [link] 安装了 boost。这是我正在尝试制作的测试程序的代码:
#include <boost/asio.hpp>
#include <iostream>
int main(void){
std::cout << "Boost test." << std::endl;
}
我的 boost 包含头文件位于 /include 下,所有用于 boost 的库都直接编译并位于 /lib 下。似乎有一些图书馆没有被包括在内,但我不知道是什么。我尝试了包括一些可能的,但无济于事。
我得到的链接器错误类型是:
[Linker error] undefined reference to `boost::system::get_system_category()'
[Linker error] undefined reference to `boost::system::get_generic_category()'
[Linker error] undefined reference to `boost::system::get_generic_category()'
[Linker error] undefined reference to `boost::system::get_generic_category()'
[Linker error] undefined reference to `boost::system::get_system_category()'
[Linker error] undefined reference to `WSACleanup@0'
[Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `boost::system::get_system_category()'
ld returned 1 exit status
C:\Dev-Cpp\Projects\Boost Test\Makefile.win [Build Error] [boostTest.exe] Error 1
一段时间以来,我一直在努力提高工作效率,非常感谢您对此事的任何帮助。提前致谢。
【问题讨论】:
-
您是否链接到 boost 库?包含标题和链接到库是 2 个独立的概念。
-
我尝试了一些与库的链接,但不确定是哪些。我尝试了一些可能的库,例如系统库和 iostream 库,但每次都得到相同的结果。
标签: c++ boost boost-asio