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
Cmake 在stdout上显示dir或echo等命令的EXECUTE\u进程输出_Cmake - Fatal编程技术网

Cmake 在stdout上显示dir或echo等命令的EXECUTE\u进程输出

Cmake 在stdout上显示dir或echo等命令的EXECUTE\u进程输出,cmake,Cmake,我希望在程序运行时,在stdout上直接看到由EXECUTE\u进程命令启动的命令的输出 我有以下测试CMakeLists.txt文件 PROJECT(TEST) cmake_minimum_required(VERSION 2.8) EXECUTE_PROCESS(COMMAND dir) 当从命令行运行时,它会生成 D:\tmp\testCMake\_build>"c:\Program Files (x86)\CMake 2.8\bin\cmake.exe" . -- Config

我希望在程序运行时,在stdout上直接看到由
EXECUTE\u进程
命令启动的命令的输出

我有以下测试CMakeLists.txt文件

PROJECT(TEST)
cmake_minimum_required(VERSION 2.8)

EXECUTE_PROCESS(COMMAND dir)
当从命令行运行时,它会生成

D:\tmp\testCMake\_build>"c:\Program Files (x86)\CMake 2.8\bin\cmake.exe" .
-- Configuring done
-- Generating done
-- Build files have been written to: D:/tmp/testCMake/_build
我想直接在控制台上查看
dir
的输出

我知道我可以使用
output\u变量
ERROR\u变量
参数捕获输出。但是,这将在命令运行结束时提供结果

根据文件规定,输出通常应通过

如果没有选择输出或错误选项 给定输出将与共享 CMake的相应管道 过程本身

我正在Windows Vista上使用CMake 2.8.3,请尝试:

execute_process(COMMAND cmd /c dir)
相反。”dir'是一个内置的shell命令execute_process'需要一个*.exe文件名作为命令后的第一个参数。(或路径中的某些exe可用。)

事实上,如果您试图深入研究并找出您最初的execute\u进程调用的错误

execute_process(COMMAND dir RESULT_VARIABLE rv)
message("rv='${rv}'")
…您将获得以下输出:

rv='The system cannot find the file specified'

如果将“dir”传递给WIN32 CreateProcess调用,您将得到几乎相同的结果。

您是对的。我没有检查。问题是它仍然没有出现在CMake GUI中,但我应该提出另一个问题。