如何改变Cygwin中的C++编译器?

问题描述 投票:1回答:1

我使用的是windows,我需要编译一个cpp文件。我使用Cygwin来运行以下命令 sh. 我已经安装了MinGw,问题是当我运行命令时,我发现Cygwin正在调用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),命令是: 1. cmake -d.我在哪里可以改变Cygwin的编译器,使其使用自己的编译器?

c++ linux unix cygwin
1个回答
1
投票

我可能是由于你的Windows路径变量。如果你有多个名为g++的二进制文件,其中包括一个来自明基的二进制文件,你应该将正确的二进制文件添加到你的环境变量中,并删除其他文件。which g++ 来知道将使用哪个二进制文件。你也可以提供正确的编译器的完整路径作为变通办法。

© www.soinside.com 2019 - 2024. All rights reserved.