Ошибка при настройке CMake в Visual Studio 2019 (версия 16.4.3)
Я создал простой проект CMake из шаблона, предоставленного в Visual Studio 2019. Он подключается к удаленному Linux серверу и выдает ошибки при генерации "Unix Makefile" со следующей ошибкой.
cd "/home/ppatori1/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/out/build/Linux-Debug";/home/omega/apps/redhat-x86_64/cmake/bin/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX=$HOME/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/out/install/Linux-Debug "/home/ppatori1/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/src" 2>&1; returned with exit code: 1
Я проверил удаленный сервер Linux и обнаружил, что он создает файл с именем "1", и когда я его объединяю; содержимое файла "1" выглядит следующим образом:
CMake Error: The source directory "/home/xyz/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/out/build/Linux-Debug/2" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
Когда я копирую-вставляю и пытаюсь выполнить ту же команду, т.е.
cd "/home/ppatori1/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/out/build/Linux-Debug";/home/omega/apps/redhat-x86_64/cmake/bin/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX=$HOME/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/out/install/Linux-Debug "/home/ppatori1/.vs/CMakeProject6/a2fef020-7ae8-4d61-bea2-3b0e6b20371f/src" 2>&1;
непосредственно на удаленном Linux сервере он работает нормально и сгенерировал необходимый кеш и make-файл.
Кажется, что при запуске команды из Visual Studio 2019 2>&1
не интерпретируется, как должно быть, то есть перенаправление stderr в stdout вместо этого делает странным попытаться перенаправить файл «2», который не существует, на «1» или что-то подобное.
Нет способа помешать Visual Studio добавить 2>&1
в команду CMake для генерации Makefile. Конфигурация CMake в Visual Studio 2019 не предоставляет никакого контроля над тем, как мне нужно генерировать CMake, хотя я могу расширить его (добавить к нему), но не полностью контролировать его. Любая помощь в этом будет оценена. Это шоу для меня.