我正在尝试用CMake制作一个Visual Studio解决方案来编译最新版本的aseprite并且CMake一直给我:
No CMAKE_C_COMPILER could be found.
No CMAKE_CXX_COMPILER could be found.
Run Code Online (Sandbox Code Playgroud)
我已经下载了GCC,我正在使用Visual Studio 2015.
我正在学习本教程:
我下面这个线程,这一个建立自己的KDE没有须藤权限.由于工作站上没有安装Git和CMake.我只是将它们安装在/ home/<user>下,并将/ home/<user>/bin和/ home/<user>/lib添加到PATH和LD_LIBRARY_PATH.由于KDE构建仅支持CMake,因此不支持配置.所以我必须通过CMake设置前缀,如下所示:cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>.此时我得到以下错误:
> ~/bin/cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>
-- The CXX compiler identification is unknown
-- Check for working CXX compiler: /home/gnu/bin/c++
-- Check for working CXX compiler: /home/gnu/bin/c++ -- broken
CMake Error at /home/<user>/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE):
The C++ compiler "/home/gnu/bin/c++" is not able to compile a simple test
program.
It fails with the following output:
Change Dir: /home/<user>/kde-devel/build/kdelibs/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast"
...
Run Code Online (Sandbox Code Playgroud)
我检查了有2个C++编译器:
> where …Run Code Online (Sandbox Code Playgroud) 有同样的问题和答案。问题是答案似乎是错误的(实际上并不是所问问题的答案)。我可以重新提问吗?问题:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ whereis gcc
cc: /usr/bin/gcc /usr/lib/gcc /usr/local/bin/gcc /usr/libexec/gcc
$ which gcc
/usr/local/bin/gcc
$ /usr/bin/gcc -v
gcc version 4.1.2
$ /usr/local/bin/gcc -v
gcc version 4.8.4
$ gcc -v
gcc version 4.8.4
$ cmake .
-- The C compiler identification is GNU 4.1.2
...
...
Run Code Online (Sandbox Code Playgroud)
本地 GCC 版本如果是 4.8.4 并且系统的默认版本是“4.1.2”。所有其他工具链都遵守 PATH 环境变量并使用本地(较新的)GCC 版本。除了 CMAKE。设置 CC 不是一个好主意,因为可能还有其他二进制工具也可以使用。在脚本开头设置 CMAKE_PROGRAM_PATH 和 CMAKE_PREFIX_PATH 无助于检测编译器。
有没有办法强制 CMAKE 尊重 PATH 变量?