gpt4 book ai didi

powershell - 外部程序的乱七八糟的参数

转载 作者:行者123 更新时间:2023-12-03 01:06:15 29 4
gpt4 key购买 nike

我正在尝试制作一个运行 CMake 的 powershell 脚本。这是我的示例代码(最后是 CMAKE_OPTIONS):

$CMAKE_OPTIONS = @{
"DBUILD_opencv_java:BOOL" = "OFF"
"DBUILD_opencv_python:BOOL" = "OFF"
"DBUILD_opencv_python2:BOOL" = "OFF"
"DBUILD_opencv_python3:BOOL" = "OFF"
"DBUILD_TESTS:BOOL" = "OFF"
"DBUILD_PERF_TESTS:BOOL" = "OFF"
"DBUILD_DOCS:BOOL" = "OFF"
"DBUILD_EXAMPLES:BOOL" = "OFF"
"DINSTALL_CREATE_DISTRIB:BOOL" = "ON"
}
# ... add something from user input
cmake -G $CMAKE_CONFIG_GENERATOR -DOPENCV_EXTRA_MODULES_PATH=$myRepo/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX=$myRepo/install/$REPO_SOURCE $myRepo/$REPO_SOURCE @CMAKE_OPTIONS

但我收到一个错误:

Parse error in command line argument: -DBUILD_opencv_python:BOOL:OFF
Should be: VAR:type=value
CMake Error: No cmake script provided.
CMake Error: Problem processing arguments. Aborting.



似乎不是写参数 foo = bar确实如此 foo:bar .
调用外部程序时如何正确设置参数?或者我是否必须使用带有字符串连接的旧方法和 &cmake -p "myargs" $CMAKE_OPTIONS_STRING ?

最佳答案

对于外部程序,使用数组,而不是哈希表:

$CMAKE_OPTIONS = @(
"-DBUILD_opencv_java:BOOL=OFF",
"-DBUILD_opencv_python:BOOL=OFF",
"-DBUILD_opencv_python2:BOOL=OFF",
"-DBUILD_opencv_python3:BOOL=OFF",
"-DBUILD_TESTS:BOOL=OFF",
"-DBUILD_PERF_TESTS:BOOL=OFF",
"-DBUILD_DOCS:BOOL=OFF",
"-DBUILD_EXAMPLES:BOOL=OFF",
"-DINSTALL_CREATE_DISTRIB:BOOL=ON"
)

cmake ... @CMAKE_OPTIONS

关于powershell - 外部程序的乱七八糟的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267249/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com