首页 > 解决方案 > 当我在 CMake 文件上运行 python 脚本时出现“错误:无法识别的参数”

问题描述

我正在尝试在 cmake 文件上运行 python 脚本,但收到以下错误消息:

bin2h.py: error: unrecognized arguments:> .../MainWindow.xaml.bin.h

CMake文件中有代码:

execute_process (COMMAND python ${PROJECT_SOURCE_DIR}/bin2h.py "${PROJECT_SOURCE_DIR}/data/MainWindow.xaml" > "${PROJECT_SOURCE_DIR}/MainWindow.xaml.bin.h")

我不知道为什么会出现该错误。当我在终端中运行脚本时工作正常。

终端中有示例:

python bin2h.py MainWindow.xaml > MainWindow.xaml.bin.h

我尝试使用文件的完整路径运行脚本,它工作正常。

PS:抱歉英语不好。

标签: cmake

解决方案


从文档中:

https://cmake.org/cmake/help/v3.12/command/execute_process.html

CMake 直接使用操作系统 API 执行子进程。所有参数都逐字传递给子进程。不使用中间 shell,因此诸如 > 之类的 shell 运算符被视为普通参数。(使用 INPUT_ 、 OUTPUT_和 ERROR_* 选项重定向标准输入、标准输出和标准错误。)

换句话说,您不能像您正在做的那样将 ">" 重定向与 execute_process() 一起使用。


推荐阅读