2016-08-04 2 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 –