c++ - 检查工作的 CXX 编译器:/cygdrive/c/cygwin64/bin/clang++ -- 损坏
问题描述
我正在尝试安装 CLion 并让我的编译器工作,但无论我做什么,它都会不断给我上述错误。它能够很好地检测到clang,但它不能检测到clang++。这是什么原因?
完整的错误如下所示:
Check for working CXX compiler: /cygdrive/c/cygwin64/bin/clang++ -- broken
CMake Error at /cygdrive/c/.CLion2018.1/system/cygwin_cmake/share/cmake-3.10.3/Modules/CMakeTestCXXCompiler.cmake:45 (message):
The C++ compiler
"/cygdrive/c/cygwin64/bin/clang++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make.exe" "cmTC_79d96/fast"
/usr/bin/make -f CMakeFiles/cmTC_79d96.dir/build.make CMakeFiles/cmTC_79d96.dir/build
make[1]: Entering directory '/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o
/cygdrive/c/cygwin64/bin/clang++ -o CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o -c /cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_79d96.exe
/cygdrive/c/.CLion2018.1/system/cygwin_cmake/bin/cmake.exe -E cmake_link_script CMakeFiles/cmTC_79d96.dir/link.txt --verbose=1
/cygdrive/c/cygwin64/bin/clang++ -Wl,--enable-auto-import CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o -o cmTC_79d96.exe -Wl,--out-implib,libcmTC_79d96.dll.a -Wl,--major-image-version,0,--minor-image-version,0
/cygdrive/c/cygwin64/bin/ld: cannot find -liconv
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [CMakeFiles/cmTC_79d96.dir/build.make:98: cmTC_79d96.exe] Error 1
make[1]: Leaving directory '/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp'
make: *** [Makefile:126: cmTC_79d96/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)
-- Configuring incomplete, errors occurred!
See also "/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeError.log".
这是 CMakeError.log:
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /cygdrive/c/cygwin64/bin/clang++
Build flags:
Id flags:
The output was:
1
/cygdrive/c/cygwin64/bin/ld: cannot find -liconv
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
Determining if the CXX compiler works failed with the following output:
Change Dir: /cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make.exe" "cmTC_79d96/fast"
/usr/bin/make -f CMakeFiles/cmTC_79d96.dir/build.make CMakeFiles/cmTC_79d96.dir/build
make[1]: Entering directory '/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o
/cygdrive/c/cygwin64/bin/clang++ -o CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o -c /cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_79d96.exe
/cygdrive/c/.CLion2018.1/system/cygwin_cmake/bin/cmake.exe -E cmake_link_script CMakeFiles/cmTC_79d96.dir/link.txt --verbose=1
/cygdrive/c/cygwin64/bin/clang++ -Wl,--enable-auto-import CMakeFiles/cmTC_79d96.dir/testCXXCompiler.cxx.o -o cmTC_79d96.exe -Wl,--out-implib,libcmTC_79d96.dll.a -Wl,--major-image-version,0,--minor-image-version,0
/cygdrive/c/cygwin64/bin/ld: cannot find -liconv
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [CMakeFiles/cmTC_79d96.dir/build.make:98: cmTC_79d96.exe] Error 1
make[1]: Leaving directory '/cygdrive/c/CLionProjects/trivialtest/cmake-build-debug/CMakeFiles/CMakeTmp'
make: *** [Makefile:126: cmTC_79d96/fast] Error 2
解决方案
如果链接器没有找到-liconv
它正在寻找一个名为libiconv
. 您可以尝试在 cygwin 安装中安装它。
我的猜测是安装这个包会有所帮助。
推荐阅读
- reactjs - WebStorm 代码检查以检测未知道具何时传递给 React 组件
- python - Python Pandas read_html 摆脱了表格中的嵌套 span 元素
- d - 使用关联数组,其中值类型是 std.typecons.Nullable 的实例化
- vbscript - 如何使用 vbs 在所有其他正在运行的程序后面运行一个程序?
- json - 在 Haskell 中将 SQLite 数据库转换为 JSON
- scala - 将 ScalaCheck 生成器与 ScalaTest 的 GivenWhenThen 一起使用
- java - 在 Java 中的 Rummikub 游戏中实现计时器
- docker - 在 docker-compose up 后为一个图像运行命令
- rabbitmq - 标头值丢失弹簧集成
- url - 我想了解 - 显示不同价格的 URL 参数