Как изменить компилятор C ++ в Cygwin? - PullRequest
1 голос
/ 06 мая 2020

Я использую windows, и мне нужно скомпилировать файл cpp. Я использую Cygwin для запуска команды sh. У меня уже установлен MinGw. Проблема в том, что когда я запускаю команду, я обнаруживаю, что Cygwin вызывает компилятор MinGw. Вот след ошибки, которую я получаю:

 $ sh build_cpp.sh
mkdir: cannot create directory ‘build’: File exists
-- The CXX compiler identification is GNU 7.2.0
-- Check for working CXX compiler: /cygdrive/c/MinGW-124/MinGW-CPTR-124/bin/g++.exe
-- Check for working CXX compiler: /cygdrive/c/MinGW-124/MinGW-CPTR-124/bin/g++.exe -- broken
CMake Error at /usr/share/cmake-3.14.5/Modules/CMakeTestCXXCompiler.cmake:53 (message):
  The C++ compiler

    "/cygdrive/c/MinGW-124/MinGW-CPTR-124/bin/g++.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/make.exe cmTC_71c00/fast
    /usr/bin/make -f CMakeFiles/cmTC_71c00.dir/build.make CMakeFiles/cmTC_71c00.dir/build
    make[1]: Entering directory '/cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeTmp'
    Building CXX object CMakeFiles/cmTC_71c00.dir/testCXXCompiler.cxx.o
    /cygdrive/c/MinGW-124/MinGW-CPTR-124/bin/g++.exe     -o CMakeFiles/cmTC_71c00.dir/testCXXCompiler.cxx.o -c /cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
    g++.exe: error: /cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx: No such file or directory
    g++.exe: fatal error: no input files
    compilation terminated.
    make[1]: *** [CMakeFiles/cmTC_71c00.dir/build.make:66: CMakeFiles/cmTC_71c00.dir/testCXXCompiler.cxx.o] Error 1
    make[1]: Leaving directory '/cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeTmp'
    make: *** [Makefile:121: cmTC_71c00/fast] Error 2




  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:3 (PROJECT)


-- Configuring incomplete, errors occurred!
See also "/cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/c/users/user/PycharmProjects/crnn-master/src/cpp/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found.  Stop.
cp: cannot stat '*.so': No such file or directory

Я попытался изменить переменные среды, установить пакет devel и изменить переменные кеша (CMAKE_CXX_COMPILER, CMAKE_CC_COMPILER) с помощью команды cmake -d. Где я могу изменить компилятор Cygwin, чтобы он использовал свой компилятор?

1 Ответ

1 голос
/ 06 мая 2020

Возможно, это связано с вашей переменной пути Windows. Если у вас есть несколько двоичных файлов с именем g ++, включая один из mingw, вам следует добавить правильный файл в переменную среды и удалить остальные. Также используйте команду which g++, чтобы узнать, какой двоичный файл будет использоваться. Вы также можете указать полный путь к нужному компилятору в качестве обходного пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...