Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何修复CMake CMP0018警告?_C++_Cmake - Fatal编程技术网

C++ 如何修复CMake CMP0018警告?

C++ 如何修复CMake CMP0018警告?,c++,cmake,C++,Cmake,我使用cmake2.8.12.2构建我的项目(在Mac中),该项目包含以下两个模块: project | |____ module_a | |____ module_b 当模块a和模块b构建为静态库时,当cmake项目时没有警告。但是如果我将模块更改为共享库,我会遇到警告: Variable CMAKE_SHARED_LIBRARY_C_FLAGS has been modified. CMake will ignore the POSITION_INDEPE

我使用
cmake2.8.12.2
构建我的项目(在Mac中),该项目包含以下两个模块:

project
   |
   |____ module_a
   |
   |____ module_b
模块a
模块b
构建为
静态
库时,当
cmake
项目时没有警告。但是如果我将模块更改为
共享
库,我会遇到警告:

  Variable CMAKE_SHARED_LIBRARY_C_FLAGS has been modified.  CMake will ignore
  the POSITION_INDEPENDENT_CODE target property for shared libraries and will
  use the CMAKE_SHARED_LIBRARY_C_FLAGS variable instead.  This may cause
  errors if the original content of CMAKE_SHARED_LIBRARY_C_FLAGS was removed.

  Policy CMP0018 is not set: Ignore CMAKE_SHARED_LIBRARY_<Lang>_FLAGS
  variable.  Run "cmake --help-policy CMP0018" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
变量CMAKE_SHARED_LIBRARY_C_标志已修改。CMake将忽略
共享库的POSITION_INDEPENDENT_代码目标属性,并将
改用CMAKE_SHARED_LIBRARY_C_FLAGS变量。这可能导致
删除CMAKE_共享_库_C_标志的原始内容时出错。
未设置策略CMP0018:忽略CMAKE\u共享\u库\u标志
变量有关策略详细信息,请运行“cmake--帮助策略CMP0018”。使用
cmake_policy命令设置策略并抑制此警告。
这对我来说毫无意义,因为我从未处理过
CMAKE\u共享\u库\u C\u标志


如何修复此警告?我不希望忽略它。

您可以使用来选择所需的策略

是否尝试删除cmake缓存并重新运行?