我想编译一个C程序。当我运行cmake
build]$ cmake ../
-- The C compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake-3.0/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "/usr/bin/cc" is not able to compile a simple test program.
它失败并显示以下输出:
Change Dir: /home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTryCompileExec3431547622/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec3431547622.dir/build.make
CMakeFiles/cmTryCompileExec3431547622.dir/build
make[1]: Entering directory
'/home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report
/home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object
CMakeFiles/cmTryCompileExec3431547622.dir/testCCompiler.c.o
/usr/bin/cc -o CMakeFiles/cmTryCompileExec3431547622.dir/testCCompiler.c.o
-c /home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp/testCCompiler.c
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/cc1: error while loading shared
libraries: libisl.so.13: cannot open shared object file: No such file or
directory
CMakeFiles/cmTryCompileExec3431547622.dir/build.make:57: recipe for target
'CMakeFiles/cmTryCompileExec3431547622.dir/testCCompiler.c.o' failed
make[1]: *** [CMakeFiles/cmTryCompileExec3431547622.dir/testCCompiler.c.o]
Error 1
make[1]: Leaving directory
'/home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp'
Makefile:118: recipe for target 'cmTryCompileExec3431547622/fast' failed
make: *** [cmTryCompileExec3431547622/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 "/home/vahid/dev/Indexer/build/CMakeFiles/CMakeOutput.log".
See also "/home/vahid/dev/Indexer/build/CMakeFiles/CMakeError.log".
为什么会出现此错误?我该如何解决?
答案 0 :(得分:7)
为什么会出现此错误?
根据此错误消息:
/usr/bin/cc -o CMakeFiles/cmTryCompileExec3431547622.dir/testCCompiler.c.o -c /home/vahid/dev/Indexer/build/CMakeFiles/CMakeTmp/testCCompiler.c
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/cc1: error while loading shared libraries: libisl.so.13: cannot open shared object file: No such file or directory
看起来您的编译器不起作用。
我怎么能解决它?
重新安装工具链应该是解决它的最简单方法。
如何做到这一点取决于您的操作系统,如果您使用像Debian这样的Linux发行版,您可以使用apt-get install build-essential
之类的东西来安装它;如果您使用的是Fedora或CentOS,则可以使用yum group install c-development
。