将库添加到eclipse C ++项目(ROOT)

时间:2013-07-24 13:14:48

标签: c++ eclipse root-framework

我正试图在日食中导入库但我无法做到。我知道很多线程已经讨论过这个问题,但我无法解决我的问题。如果你能提供帮助我很感激。 我有文本代码:

#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

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

您需要在运行/调试配置中设置LD_LIBRARY_PATH变量值。

答案 1 :(得分:0)

这是一个通常的编译错误消息,告诉您它无法找到ROOT库。通常,ROOT在$ {ROOTSYS} / bin /目录中附带一个setup.sh脚本,您需要提供该脚本:它为您完成环境设置,也许只是采购它将解决您的问题。

我不熟悉Eclipse,但我认为必须有一种方法来指定环境变量,例如: $ ROOTSYS。

在谷歌搜索1分钟后,我找到了一个很有希望的链接:

Eclipse Environment variable setup