0

ライブラリをEclipseにインポートしようとしていますが、できません。この問題についてすでに多くのスレッドが話していることは知っていますが、それらの問題を解決できませんでした。ですので、お役に立てれば幸いです。私はテキストコードを持っています:

#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リンカのその他に追加します。これでコードをビルドできます。しかし、私がそれを実行しようとすると、次のようになります:

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

ここで何が欠けていますか?

4

2 に答える 2

0

これは、ROOT ライブラリが見つからないという通常のコンパイル エラー メッセージです。通常、ROOT には ${ROOTSYS}/bin/ ディレクトリにある setup.sh スクリプトが付属しており、これをソースする必要があります。これは環境のセットアップを行い、おそらく単にソースするだけで問題が解決します。

私は Eclipse に詳しくありませんが、$ROOTSYS などの環境変数を指定する方法が必要だと思います。

1分間グーグルした後、有望なリンクを見つけました:

Eclipse 環境変数の設定

于 2013-11-25T23:22:14.357 に答える
0

実行/デバッグ構成で LD_LIBRARY_PATH 変数値を設定する必要があります。

于 2013-07-24T14:10:15.670 に答える