我正在关注此thread和此one,以便在没有sudo权限的情况下构建我自己的KDE。由于工作站上没有安装Git和CMake。我只是将它们都安装在 / home /<用户> 并添加了 / home /<用户> / bin 和 / home /<用户> / 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"
...
我检查过有2个C ++编译器:
> where c++
/home/gnu/bin/c++
/usr/bin/c++
我应该将CMake默认C ++编译器设置为/usr/bin/c++
吗?如何?或者有什么方法可以解决这个问题吗?
答案 0 :(得分:28)
在您的系统上运行$location
。
此软件包依赖于被认为对构建至关重要的其他软件包,并将安装它们。如果您发现必须构建软件包,这有助于避免零碎地解决依赖关系。
有关详细信息,请参阅this page。
答案 1 :(得分:14)
您的/home/gnu/bin/c++
似乎需要额外的标记来正确链接内容,而且CMake不知道这一点。
使用/usr/bin/c++
作为编译器使用cmake
运行-DCMAKE_CXX_COMPILER=/usr/bin/c++
。
此外,CMAKE_PREFIX_PATH
变量设置应安装项目文件的目标目录。它与CMake安装前缀无关,CMake本身已经知道这一点。
答案 2 :(得分:2)
我刚刚设置了我的新笔记本电脑这个问题。我的问题是我的工具链(CodeSourcery)是32位,而我没有安装32位库。
sudo apt-get install ia32-libs