cmake - 当我在 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:抱歉英语不好。
解决方案
从文档中:
https://cmake.org/cmake/help/v3.12/command/execute_process.html
CMake 直接使用操作系统 API 执行子进程。所有参数都逐字传递给子进程。不使用中间 shell,因此诸如 > 之类的 shell 运算符被视为普通参数。(使用 INPUT_ 、 OUTPUT_和 ERROR_* 选项重定向标准输入、标准输出和标准错误。)
换句话说,您不能像您正在做的那样将 ">" 重定向与 execute_process() 一起使用。
推荐阅读
- html - 图片后面怎么做效果?
- java - 如何使用 Mongo-Java 驱动程序运行 MongoDB 本机查询 (JSON)?
- r - 如何更改长数据框的 x 轴上非数字变量的顺序?
- twitter-bootstrap - 使用 npm 安装 Bootstrap 5 数据表
- python-3.x - 如何在两个不同的视图中使用相同的 django 过滤器类(filters.py)
- javascript - 如何根据过滤器对象过滤 javasciptarray
- javascript - 我希望在重新加载或再次返回该页面后保存复选框
- spring-boot - 如何处理或创建从 kafka 接收的从 Neo4j 流发出的数据的模型类?
- typescript - TS泛型如何根据参数类型返回记录或简单值?
- javascript - 使用键盘按钮访问表格