2010-06-14 171 views
2

我剛剛在Windows上的Virtualbox上安裝了Ubuntu。如何在Linux ubuntu中設置C++環境變量?

我試圖安裝cmake並在cmake的網站安裝指南要求我做以下步驟

./bootstrap 
make 
make install 

但當我只是做了./bootstrap命令我得到的錯誤的下面的列表,任何人都可以建議我如何在我的系統上設置C++編譯器。正如我剛剛安裝Ubuntu或許目前C++沒有設置。

請幫忙。


 
CMake 2.8.1, Copyright 2000-2009 Kitware, Inc. 
C compiler on this system is: cc 

Error when bootstrapping CMake: 
Cannot find appropriate C++ compiler on this system. 
Please specify one using environment variable CXX. 
See cmake_bootstrap.log for compilers attempted. 

Log of errors: /home/vikboy/Downloads/cmake-2.8.1/Bootstrap.cmk/cmake_bootstrap.log 
+2

爲什麼不通過新立得安裝'cmake'? – kennytm 2010-06-14 20:44:25

+0

如果它在std位置找不到它,可能是因爲它沒有安裝,並且設置CXX不會有幫助。但是fyi, 'CXX =/path/to/compiler/g ++'然後 'export CXX' 應該足夠了;在你的情況下,安裝編譯器應該修復這個問題......(build-essential,看到答案) – ShinTakezou 2010-06-14 20:48:09

+0

Hi ShinTakezou,我做了sudo apt-get install build-essential,我可以構建cmake並最終用於構建OpenCV以及。謝謝。 – HaggarTheHorrible 2010-06-14 21:20:18

回答

9

通過apt安裝build-essential包。

sudo apt-get install build-essential 
+0

嗨Ignacio Vazquez-Abrams,我做了sudo apt-get install build-essential,我可以構建cmake並最終用於構建OpenCV。謝謝。 – HaggarTheHorrible 2010-06-14 21:20:50

0

我有同樣的問題。即使我正確定義了CXX環境變​​量。

$ CXX --version g ++(GCC)5.3.0 Copyright(C)2015 Free Software Foundation,Inc. 這是免費軟件;請參閱複製條件的來源。有沒有 保修;甚至不適用於適銷性或針對特定用途的適用性。

我看着./configure的輸出的日誌文件: Bootstrap.cmk/cmake_bootstrap.log

class NeedCXX 
{ 
public: 
    NeedCXX() { this->Foo = 1; } 
    int GetFoo() { return this->Foo; } 
private: 
    int Foo; 
}; 
int main() 
{ 
    NeedCXX c; 
#ifdef TEST3 
    cout << c.GetFoo() << endl; 
#else 
    std::cout << c.GetFoo() << std::endl; 
#endif 
    return 0; 
} 

在/ usr /斌/勞工處:找不到-lgcc_s collect2:錯誤:ld返回1退出狀態 測試失敗編譯 嘗試:/ usr/local/bin/g ++ 行:/ usr/local/bin/g ++ -DTEST2 cmake_bootstrap_18998_test.cxx -o cmake_bootstrap_18998_test -------- - 文件-----------------------

主要問題是編寫測試的程序員沒有包含 include path -L/PATH/to/C++/header,在我的電腦上是 /usr/local/include/c++/5.3.0

此路徑應該包含在自動探測中,或者應該是configure程序中的一個選項。我希望cmake開發人員可以看到這個消息,並稍微改變一下自動檢測。

或者我可能是錯的。