2012-03-14 96 views
8

我正在關注此thread和此one未建立sudo權限來構建我自己的KDE。由於工作站上沒有安裝Git和CMake。我只是他們兩個下/家庭/ <用戶>安裝並添加/家庭/ <用戶>/bin中/家庭/ <用戶>/lib目錄既PATH和LD_LIBRARY_PATH。 由於KDE構建只支持CMake,因此不需要配置。所以我必須通過CMake設置前綴,如下所示:cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>。在這一點上我得到了以下錯誤:CMake抱怨「CXX編譯器標識未知」

> ~/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++編譯器?如何?或者有什麼辦法解決這個問題?

回答

11

/home/gnu/bin/c++您的/home/gnu/bin/c++似乎需要額外的標誌來正確鏈接的東西和CMake不知道這一點。

使用作爲編譯器運行cmake-DCMAKE_CXX_COMPILER=/usr/bin/c++

此外,CMAKE_PREFIX_PATH變量設置目標目錄,您的項目的文件應安裝在哪裏。它與CMake安裝前綴無關,CMake本身已經知道這一點。

+0

'-DCMAKE_CXX_COMPILER =/usr/bin/c +'+在windows 10 bash shell上解決了我的問題。我在爲WebAssembly安裝'Emscripten'時遇到了這個問題 – TechMaze 2017-08-04 05:50:39

2

我剛剛有這個問題設置我的新筆記本電腦。對我來說問題是我的工具鏈(CodeSourcery)是32位,我沒有安裝32位庫。

sudo apt-get install ia32-libs 
14

在您的系統上運行apt-get install build-essential

該軟件包依賴於其他被認爲是構建必不可少的軟件包,並將安裝它們。如果您發現必須構建軟件包,這可以有助於避免零散地解決依賴關係。

有關更多信息,請參閱this page

+2

請爲您的解決方案添加一些意見,瞭解它爲何以及如何解決問題 – 2015-12-17 16:18:23

+0

Workek對我來說,thx! – BobMorane 2017-07-29 05:02:30

相關問題