字符串子命令STRIP"需要两个参数"的CMake错误

Chr*_*s85 6 cmake

我正在尝试使用CMake编译库.该库使用CMake和pods构建系统.在配置过程中,我收到以下错误:

CMake Error at cmake/pods.cmake:257 (string): 
string sub-command STRIP requires two arguments.
Run Code Online (Sandbox Code Playgroud)

在特定文件pods.cmake中,命令如下所示:

execute_process(COMMAND 
  ${PKG_CONFIG_EXECUTABLE} --cflags-only-I ${ARGN}
  OUTPUT_VARIABLE _pods_pkg_include_flags)
string(STRIP ${_pods_pkg_include_flags} _pods_pkg_include_flags)
Run Code Online (Sandbox Code Playgroud)

这对我来说很好看.有什么想法发生这个错误?我不明白为什么cmake抱怨它有两个STRIP命令的参数,当它显然有两个.

注意:我使用cmake 2.8.12.2,但根据文档,这应该是有效的.

Rei*_*ica 9

虽然您的CMake文件在语法上包含两个参数,但${_pods_pkg_include_flags}可以为空.如果是这样,那么它不是语义上的参数而且永远不会到达string(),然后只能看到一个.如果字符串可能为空(并且您希望在这种情况下将其视为空字符串而不是跳过它),请引用它:

string(STRIP "${_pods_pkg_include_flags}" _pods_pkg_include_flags)
Run Code Online (Sandbox Code Playgroud)