我正在尝试从VS2017到Linux(x86)的基于CMake的简单项目。
CMakeLists.txt
project (hello-cmake)
add_executable(hello-cmake hello.cpp)
hello.cpp
#include <iostream>
int main(int argc, char* argv[])
{
std::cout << "Hello from Linux CMake" << std::endl;
}
我的设置:
我已经仔细阅读了MSDN website上的说明,但无法使它正常工作。
使用VS生成的默认CMakeSettings.json,rsync命令继续擦除我的“〜”目录!
在VS中显示的命令下方:
rsync -t --delete --delete-excluded -v -r --exclude=.vs --exclude=.git --exclude=.vs --exclude=.git /D/JP/svn/mirtec/test_cmake_vs2017/ rsync://alex@localhost:60584/temp
我了解--delete --delete-excluded的功能。但是我不明白为什么它针对我的主目录?
我该如何指定要在目标计算机上复制文件的位置(我以为是remoteCMakeListsRoot,但我的经验表明不是)。
我是要为VS / CMake调试创建专用用户吗?
我编辑了CMakeSettings.json以删除“ --delete --delete-excluded”选项。结果rsync停止尝试擦除〜,但是现在VS表示找不到CMake!我完全被困住了。我已经安装了CMake,它在/ usr / local / bin中可用。我尝试过使用和不使用程序名称在json文件中的cmakeExecutable都无效。
这是VS中的输出:
1> Copying files to remote machine...
1> rsync -t -v -r --exclude=.vs --exclude=.git --exclude=.vs --exclude=.git /D/JP/svn/mirtec/test_cmake_vs2017/ rsync://alex@localhost:56138/temp
1> sending incremental file list
1> ./
1> CMakeSettings.json
1>
1> sent 828 bytes received 42 bytes 580.00 bytes/sec
1> total size is 1349 speedup is 1.55
1> Finished copying files.
1> /usr/local/bin/cmake does not exist
有没有人使用VS2017 / CMake集成成功定位Linux? 您有类似的问题吗?我想念什么吗?
答案 0 :(得分:0)
我遇到了与您相同的错误,但终于解决了。
1检查您的Linux中是否安装了cmake。
2在您的vs2017项目中找到CMakeSetting.json
文件,该文件是在构建时由vs2017自动生成的,问题出在此文件中。
检查"cmakeExecutable": "/usr/bin/cmake"
选项,并确保路径与您的远程linux相同。(使用which cmake
检查路径)。如上所述,"cmakeExecutable": /usr/local/bin/cmake
应该是"cmakeExecutable": /usr/bin/cmake
。