Batch file 如何在Windows上从批处理脚本运行cmake命令时将其他目录引用到cmake
我来自Linux Unix背景,我正在尝试将一个非常简单的Batch file 如何在Windows上从批处理脚本运行cmake命令时将其他目录引用到cmake,batch-file,cmake,windows-10,git-bash,Batch File,Cmake,Windows 10,Git Bash,我来自Linux Unix背景,我正在尝试将一个非常简单的.sh转换为.bat脚本 我想在Windows 10上的批处理文件中运行cmake命令。但是我想在源代码目录之外的构建目录中运行cmake命令。源代码目录就在build文件夹旁边 ::build_something.bat mkdir build CD build cmake ../SourceCodeDir 正如您在上面所看到的,我希望生成build/目录中的所有构建文件 但问题是cmake反而错误地试图在build/中找到So
.sh
转换为.bat
脚本
我想在Windows 10上的批处理文件中运行cmake
命令。但是我想在源代码目录之外的构建目录中运行cmake
命令。源代码目录就在build
文件夹旁边
::build_something.bat
mkdir build
CD build
cmake ../SourceCodeDir
正如您在上面所看到的,我希望生成build/
目录中的所有构建文件
但问题是
cmake
反而错误地试图在build/
中找到SourceCodeDir
目录,抱怨build/SourceCodeDir
不存在。这表明我在批处理脚本中执行了错误的目录导航。如何在批处理脚本上将基于Unix的文件夹导航修改为基于Windows的文件夹导航
以下是cmake声明的精确错误:
CMake Error: The source directory "C:/code/build/SourceCodeDir" does not exist.
PS:我正在从git bash shell运行批处理脚本。
我知道目录路径中的斜杠是基于Linux的,但这不应该是一个问题,因为我是从git bash运行它的?或者这是bat脚本中的问题之一?即使我用反斜杠替换路径分隔符,也没有帮助。Windows是否理解符号
。\SourceCodeDir
表示引用当前目录之外的目录?可能不是,这也是一个问题?您应该使用CMake配置步骤的-S
(源目录)和-B
(构建目录)选项。如果不存在,则创建生成目录。然后,您的CMake调用将读取CMake-B build-S../SourceCodeDir
,对于Windows平台,然后可以使用CMake--build build--target ALL_build--config Release
“运行构建步骤,但问题是,CMake
而不是错误尝试…”不要描述错误消息,而是按原样准确显示它。如果您能正确理解CMake(或shell)告诉您的内容,那么您就可以自己轻松地解决问题。既然你在问,那么这条消息中的某些内容对你来说是不清楚的。我用cmakes抛出的确切错误更新了这个问题。错误清楚地表明它正试图在build
文件夹中查找SourceCodeDir
。@vre感谢使用-S
选项的提示,但使用-S选项也会遇到与我的问题相同的问题。