当前位置:  开发笔记 > 前端 > 正文

如何为Visual Studio 2017 RC CMake项目设置工作目录

如何解决《如何为VisualStudio2017RCCMake项目设置工作目录》经验,为你挑选了1个好方法。

我使用Visual Studio 2017 RC打开CMake项目,然后我发现工作目录始终是输出目录.

有没有办法将工作目录设置为输出文件目录以外的其他位置?

(因为没有.sln文件,我无法以旧方式设置工作目录)

更新 我不是从CMake脚本调用程序.我在Visual Studio中运行目标程序.我想更改目标程序的工作目录.



1> congusbongus..:

截至撰稿时(2017-03-23),无法通过CMakeLists.txt设置工作目录.以下是一些解决方法:

运用 launch.vs.json

根据此错误报告,您可以在调试和启动设置中添加设置(右键单击相关的CMakeLists.txt).这将打开launch.vs.json文件,您可以使用该currentDir变量添加工作目录.这是一个例子:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "path\\to\\target",
      "name": "My Awesome Project",
      "currentDir": "${workspaceRoot}/src"
    }
  ]
}

如果您愿意,可以继续检查该文件; 它可能就在.vs/launch.vs.json.

请参阅Visual C++团队博客文章.但它没有提到currentDir.

语法似乎与Visual Studio Code使用的语法非常相似,尽管关键字都不同 - 例如,VSCode使用cwd而不是currentDir.

使用CMake> = 3.8.0 VS_DEBUGGER_WORKING_DIRECTORY

另请参阅:CMake是否提供了一种方法来设置给定构建系统在运行/调试项目时使用的工作目录?

VS_DEBUGGER_WORKING_DIRECTORY是3.8.0版中的新CMake目标属性.像这样设置:

set_target_properties(
    MyProject PROPERTIES
    VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")

您需要使用独立CMake的旧方法,生成.sln/ .vcxproj文件,使用Visual Studio打开解决方案,因为与Visual Studio 2017集成的CMake版本为3.6.这导致...

等到Visual Studio附带CMake> = 3.8.0

不知何时会发生这种情况; 该团队目前正在考虑更新到CMake 3.7,所以它会更长一段时间.但是,当发生这种情况时,它可能会支持该VS_DEBUGGER_WORKING_DIRECTORY财产.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有