我能够通过Windows命令提示符成功编译并执行一个包含boost库的示例C ++程序。
我想使用make,因此我想在MinGW g ++中使用CMAKE(3.15)。
我在cmd提示符下使用了cmake-gui,CLION和cmake
很不幸,我无法找到CMakeLists.txt中包含的编译器标志“ -lws2_32”
我在StackOverflow上找到了不同的解决方案,但没有一个帮助我。
下面是CMakeLists.txt
cmake_minimum_required (VERSION 3.14.0)
project (BoostCMakeTutorial)
set(GCC_BOOST_COMPILER_FLAG "-lws2_32")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_BOOST_COMPILER_FLAG}")
add_executable(BoostCMakeTutorial boostTcpClient.cpp)
我确定CMAKE缺少“ -lws2_32”标志,因为当不包括在内时,我在cmd提示符下看到相同的错误
答案 0 :(得分:0)
要在现代CMake中添加-lws2_32
链接器标志,最好的方法是使用target_link_libraries
。我在下面更新了您的示例:
cmake_minimum_required (VERSION 3.14.0)
project (BoostCMakeTutorial)
add_executable(BoostCMakeTutorial boostTcpClient.cpp)
target_link_libraries(BoostCMakeTutorial ws2_32)