2016-08-04 15 views
2

私のC++プロジェクトには、BoostWebSocket++のlibsが含まれています。私は-lws2_32をgccコマンドに追加する必要がある他のトピックを読んだが、私はCLionを持っていて、それを修正する方法がわからない。CLION内の `__imp_WSACleanup '(Boost.Asio)への未定義参照の修正方法

コンソール:

CMakeFiles\WsServer.dir/objects.a(main.cpp.obj): In function `boost::asio::detail::winsock_init_base::startup(boost::asio::detail::winsock_init_base::data&, unsigned char, unsigned char)': 
C:/MinGW/include/boost/asio/detail/impl/winsock_init.ipp:39: undefined reference to `__imp_WSAStartup' 
CMakeFiles\WsServer.dir/objects.a(main.cpp.obj): In function `boost::asio::detail::winsock_init_base::cleanup(boost::asio::detail::winsock_init_base::data&)': 
C:/MinGW/include/boost/asio/detail/impl/winsock_init.ipp:56: undefined reference to `__imp_WSACleanup' 
collect2.exe: error: ld returned 1 exit status 
mingw32-make.exe[3]: *** [CMakeFiles\WsServer.dir\build.make:99: WsServer.exe] Error 1 
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:67: CMakeFiles/WsServer.dir/all] Error 2 
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:79: CMakeFiles/WsServer.dir/rule] Error 2 
mingw32-make.exe: *** [Makefile:117: WsServer] Error 2 

私は何をすべき?

答えて

2

あなたは

if(MINGW) 
    target_link_libraries(YourTargetName ws2_32) 
endif() 
+0

が働い:例えば、あなたのCMakeLists.txtにtarget_link_libraries経由ws2_32を渡すことができます!ありがとう。 –

+0

私は別の同様の問題を抱えています。可能であれば、ご覧ください:http://stackoverflow.com/questions/38770895/how-to-fix-undefined-reference-to-getacceptexsockaddrs-boost-asio-in-clion –

関連する問題