Я пытаюсь нацелить простой проект на основе CMake на Linux (x86) из VS2017.
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;
}
Моя настройка:
- Visual Studio 15.8.2 работает на Win7
- Ubuntu 16.04
- CMake 3.12.1
- g ++ 5.4.0, gcc 5.4.0
Я внимательно прочитал инструкции на веб-сайте MSDN , но не могу заставить его работать.
Используя стандартный файл CMakeSettings.json, сгенерированный VS, команда 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-exclude. Но я не понимаю, почему он нацелен на мой домашний каталог?
Как мне указать местоположение на целевой машине, куда будут копироваться файлы (я думал, что это удаленный CMakeListsRoot, но мой опыт показывает, что это не так).
Должен ли я создать выделенного пользователя для отладки VS / CMake?
Я отредактировал файл CMakeSettings.json, чтобы удалить параметры «--delete --delete-exclude». В результате rsync перестает пытаться стереть ~, но теперь VS говорит, что не может найти CMake! Я полностью застрял. Я установил CMake, и он доступен в / usr / local / bin. Я пытался с и без названия программы cmakeExecutable в файле json безрезультатно.
Это вывод в 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?
Были ли у вас похожие проблемы? Я что-то упустил?