2012-01-11 137 views
5

我试图通过串行端口访问一个外部设备,并希望为此建议使用Boost.Asio。 我已经为MinGw构建了boost库,并编译了正则表达式示例。Boost.Asio链接错误

但我有问题,我编写的代码,如果我包括Boost.Asio的东西:

#include <boost/asio/serial_port.hpp> 

int main() { 

    return 0; 
} 

g++ -D _WIN32_WINNT=0x0501 -O0 -g3 -Wall -c -fmessage-length=0 -osrc\SerialPortTest.o ..\src\SerialPortTest.cpp 
g++ -LC:\boost-libs\boost\bin.v2\libs\thread\build\gcc-mingw-4.5.2\release\link-static\threading-multi -LC:\boost-libs\boost\bin.v2\libs\system\build\gcc-mingw-4.5.2\release\link-static\threading-multi -oSerialPortTest.exe src\SerialPortTest.o -lboost_thread-mgw45-mt-1_48 -lboost_system-mgw45-mt-1_48 
src\SerialPortTest.o: In function `ZN5boost4asio6detail17winsock_init_base7startupERNS2_4dataEhh': 
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../include/boost/asio/detail/impl/winsock_init.ipp:39: undefined reference to `[email protected]' 
src\SerialPortTest.o: In function `ZN5boost4asio6detail17winsock_init_base7cleanupERNS2_4dataE': 
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../include/boost/asio/detail/impl/winsock_init.ipp:48: undefined reference to `[email protected]' 
collect2: ld returned 1 exit status 

对于我来说,似乎是一个连接问题,但我不明白这一点。

+0

你错过了Windows套接字库 - 之所以这是一个评论,是因为我不确定关闭我的头顶什么库在下面调用 – Nim 2012-01-11 15:03:20

+1

这里是答案:http:// stackoverflow。 COM /问题/ 2033608/MinGW的 - 接头错误的Winsock – Nim 2012-01-11 15:04:03

回答

0

你错过WSOCK32库。将此添加到您的依赖关系,它应该工作。