2012-01-11 17 views
5

Sto provando ad accedere a un dispositivo esterno tramite una porta seriale e voglio utilizzare Boost.Asio per questo proporre. Ho compilato le librerie boost per MinGw e ho compilato con successo l'esempio regex.Boost.Asio errore di collegamento

Ma ho problemi a compilare il mio codice, se includo qualcosa da 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 

Per me sembra essere un problema di collegamento, ma io non capisco.

+0

manca la libreria di socket di Windows - motivo per cui questo è un commento è che non sono sicuro in cima alla mia testa ciò che la libreria è chiamata in mingw – Nim

+1

E qui è la risposta: http: // StackOverflow. com/domande/2033608/mingw-linker-error-Winsock – Nim

risposta

9

Aggiungi flag -lws2_32 per il collegamento alla libreria WinSockets.

Inoltre, questo potrebbe essere utile: MinGW linker error: winsock

0

Ti manca biblioteca wsock32. Aggiungi questo alle tue dipendenze e dovrebbe funzionare.

Problemi correlati