无法在CMAKE 3.15.0中包含编译标志 我能够成功编译并执行一个C++程序,其中包含了通过Windows命令提示符的Boost库。

无法在CMAKE 3.15.0中包含编译标志 我能够成功编译并执行一个C++程序,其中包含了通过Windows命令提示符的Boost库。,c++,boost,makefile,cmake,C++,Boost,Makefile,Cmake,我想使用make,因此我想在mingwg++中使用CMAKE(3.15) 我在cmd提示符上使用了cmakegui、CLION和cmake 非常遗憾,我无法找到CMakeLists.txt中包含的编译器标志“-lws2_32” cmake_minimum_required (VERSION 3.14.0) project (BoostCMakeTutorial) set(GCC_BOOST_COMPILER_FLAG "-lws2_32") set(CMAKE_C

我想使用make,因此我想在mingwg++中使用CMAKE(3.15)

我在cmd提示符上使用了cmakegui、CLION和
cmake

非常遗憾,我无法找到CMakeLists.txt中包含的编译器标志“-lws2_32”

    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)
我在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提示符上看到了相同的错误,当它未包含时

要在现代CMAKE中添加
-lws2_32
链接器标志,最好的方法是使用。我已在下面更新了您的示例:

cmake_minimum_required (VERSION 3.14.0)
project (BoostCMakeTutorial)
add_executable(BoostCMakeTutorial boostTcpClient.cpp)
target_link_libraries(BoostCMakeTutorial ws2_32)

您是否通过打印变量
CMake\u CXX\u FLAGS
来验证标志是否添加到了CMake中?您是否尝试使用
VERBOSE=1运行
make
,以查看该标志是否确实丢失?你能公布你看到的确切错误吗?@squareskittles:我试过使用
VERBOSE=1
,但没有用。在
cmake gui
中,字段
cmake\u CXX\u FLAGS
为空。我手动添加它,然后生成。缺少
-lws2_32
。@squareskittles:我也尝试使用下面的
target_link_库
,但在cmake gui中打开CMakeLists.txt会弹出错误,因为它。“但是没有用”-这意味着什么?
VERBOSE
命令不起作用?或者它显示缺少
-lws2\u 32
标志?请编辑您的帖子,以显示您在使用
目标链接库时尝试的完整命令以及出现的错误。请将
目标链接库(boostcmaketourial w2\u 32)
更改为
目标链接库(boostcmaketourial ws2\u 32)
,这可能有助于下一步搜索缺少该拼写错误的人,修复!如果我交换
add_executable(boostcmaketurial boostTcpClient.cpp)target_link_库(boostcmaketurial w2_32)
这些行,它会给出错误,我丢失了,非常感谢squareskittlesYes,在命令中引用可执行文件之前,必须首先使用
add_executable
命令定义可执行文件
boostcmaketurial