2013-07-24 193 views
0

我想在eclipse中導入庫,但我不能這樣做。我知道有很多線索已經討論過這個問題,但我無法解決這些問題。所以我很感激你能否提供幫助。 我有文本代碼:添加庫到eclipse C++項目(根)

#include <iostream> 
#include <TRandom1.h> 
int main(void) { 
    TRandom1* myrand = new TRandom1(); 
    for(int i=0;i<10;++i) { 
    std::cout << myrand->Gaus(5,1) << std::endl; 
    } 
    return 0; 
} 

和我建立並運行它像:

g++ -c `root-config --cflags` test.cpp 
g++ -o randoms `root-config --libs` test.o 
./randoms 

工作正常。 如果root-config --cflags結果是:

-pthread -m64 -I/usr/local/include/root 

root-config --libs

-L/usr/local/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic 

現在的結果時ecplise我改變C/C++ Build-> C++ compiler -> miscellanoeus到:

-c `root-config --cflags` -fmessage-length=0 

,並添加root-config --libs進行接頭miscellanoeus。現在我可以構建代碼。但是當我試圖運行它時,我得到:

/home/jd/C-workespace/CERN/Debug/CERN: error while loading shared libraries: libCore.so: cannot open shared object file: No such file or directory 

我在這裏錯過了什麼?

回答

0

您需要在運行/調試配置中設置LD_LIBRARY_PATH變量值。

+0

仍然沒有工作 – Moj

+0

那麼你需要確保根的配置是路徑。並且LD_LIBRARY_PATH環境變量具有包含libCore.so的目錄 –

0

這是一個常見的編譯錯誤消息,告訴你它找不到ROOT庫。通常,ROOT在$ {ROOTSYS}/bin /目錄中提供了一個setup.sh腳本,您需要爲其提供源代碼:它爲您設置了環境設置,也許只需採購它即可解決您的問題。我不熟悉Eclipse,但我認爲必須有一種方法來指定環境變量,例如, $ ROOTSYS。

1分鐘後google搜索,我發現了一個有前途的鏈接:

Eclipse Environment variable setup