我有要在C++项目的编译过程中禁用的LNK警告。我正在使用Visual Studio2010。在某些库和最终可执行文件的编译过程中会出现警告。

我确切地知道如何在Visual Studio中禁用这些警告:

可执行文件的

  • :打开其属性(右键单击其解决方案资源管理器条目);然后选择链接器->命令行,然后添加/ ignore:4221作为附加选项
  • 库的
  • :打开其属性(与可执行文件相同);然后选择“配置属性”,然后选择“图书馆员”->“命令行”,然后在其中添加/ ignore:4221作为附加选项。

  • 现在,我想使用CMake自动执行此过程,因为我有数百种想要通过这种方式自定义的库和可执行文件。对于可执行文件,我想我已经找到了解决方案:当我在每个CMake项目中添加该行时,它似乎可以工作
    LIST(APPEND CMAKE_EXE_LINKER_FLAGS "/ignore:4221")
    

    在其根CMakeLists.txt中。我还没有找到如何为图书管理员做同样的事情。你知道怎么做吗?

    最佳答案

    可以设置为

    set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
    

    08-17 00:24