2012-01-11 16 views
5

私はシリアルポート経由でexternデバイスにアクセスしようとしており、この提案に対してBoost.Asioを使用したいと考えています。 私はMinGw用のブーストライブラリをビルドして、正規表現の例をコンパイルしました。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 `WSAStartu[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ソケットライブラリがありません。なぜこれがコメントなのですか?私は、私の頭の上からmingwのライブラリが呼び出されているかどうかわかりません。 – Nim

+1

そしてここに答えがあります:http:// stackoverflow。 com/questions/2033608/mingw-linker-error-winsock – Nim

答えて

9

-lws2_32を追加すると、WinSocketsライブラリとリンクできます。

また、これは便利かもしれません:MinGW linker error: winsock

0

あなたはwsock32ライブラリを欠場します。これを依存関係に追加すると、それが機能するはずです。