サンプル プログラムをコンパイルして、garfield++ の動作を理解しようとしています (ドリフト チューブをシミュレートするために使用したい)。ガーフィールド++をインストールしたばかりで、このページの下部にあるサンプルプログラムをダウンロードしましたhttp://garfieldpp.web.cern.ch/garfieldpp/examples/tube/その後、make
コマンドを実行しましたが、受け取りました次のエラー:
roberto@roberto-HP-Pavilion-dv6-Notebook-PC:~/Scrivania/Garfield$ make
g++ -Wall -Wextra -Wno-long-long `root-config --cflags` -O3 -fno-common -c -I/home/roberto/garfield/Include -I/home/roberto/garfield/Heed gasfile.C
gasfile.C:12:5: warning: unused parameter ‘argc’ [-Wunused-parameter]
int main(int argc, char * argv[]) {
^
gasfile.C:12:5: warning: unused parameter ‘argv’ [-Wunused-parameter]
g++ -o gasfile gasfile.o `root-config --glibs` -lGeom -lgfortran -lm -L/home/roberto/garfield/Library -lGarfield
/home/roberto/garfield/Library/libGarfield.a(Medium.o): nella funzione "Garfield::Medium::GetElectronMomentum(double, double&, double&, double&, int&)":
Medium.cc:(.text+0xf0b4): riferimento non definito a "TRandom3::Rndm(int)"
Medium.cc:(.text+0xf0fb): riferimento non definito a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(Medium.o): nella funzione "Garfield::Medium::GetElectronCollision(double, int&, int&, double&, double&, double&, double&, int&, int&, int&)":
Medium.cc:(.text+0xf1ea): riferimento non definito a "TRandom3::Rndm(int)"
Medium.cc:(.text+0xf231): riferimento non definito a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(MediumMagboltz.o): nella funzione "Garfield::MediumMagboltz::ComputePhotonCollisionTable(bool)":
MediumMagboltz.cc:(.text+0x4cd1): riferimento non definito a "TMath::Voigt(double, double, double, int)"
/home/roberto/garfield/Library/libGarfield.a(MediumMagboltz.o): nella funzione "Garfield::MediumMagboltz::GetPhotonCollisionRate(double const&)":
MediumMagboltz.cc:(.text+0x24913): riferimento non definito a "TMath::Voigt(double, double, double, int)"
/home/roberto/garfield/Library/libGarfield.a(MediumMagboltz.o): nella funzione "Garfield::MediumMagboltz::ComputeDeexcitationInternal(int, int&)":
MediumMagboltz.cc:(.text+0x25319): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x2533e): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x25387): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x255da): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x256ca): riferimento non definito a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(MediumMagboltz.o):MediumMagboltz.cc:(.text+0x25746): seguono ulteriori riferimenti non definiti a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(MediumMagboltz.o): nella funzione "Garfield::MediumMagboltz::GetPhotonCollision(double, int&, int&, double&, double&, int&, double&)":
MediumMagboltz.cc:(.text+0x26fa8): riferimento non definito a "TMath::Voigt(double, double, double, int)"
MediumMagboltz.cc:(.text+0x2703d): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x270ef): riferimento non definito a "TRandom3::Rndm(int)"
MediumMagboltz.cc:(.text+0x2730d): riferimento non definito a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(RandomEngineRoot.o): nella funzione "Garfield::RandomEngineRoot::RandomEngineRoot()":
RandomEngineRoot.cc:(.text+0x2c): riferimento non definito a "TRandom3::TRandom3(unsigned int)"
RandomEngineRoot.cc:(.text+0xbe): riferimento non definito a "TRandom3::~TRandom3()"
/home/roberto/garfield/Library/libGarfield.a(RandomEngineRoot.o): nella funzione "Garfield::RandomEngineRoot::~RandomEngineRoot()":
RandomEngineRoot.cc:(.text+0xf6): riferimento non definito a "TRandom3::~TRandom3()"
/home/roberto/garfield/Library/libGarfield.a(RandomEngineRoot.o): nella funzione "Garfield::RandomEngineRoot::Seed(unsigned int)":
RandomEngineRoot.cc:(.text+0x175): riferimento non definito a "TRandom3::SetSeed(unsigned int)"
/home/roberto/garfield/Library/libGarfield.a(RandomEngineRoot.o): nella funzione "Garfield::RandomEngineRoot::Draw()":
RandomEngineRoot.cc:(.text._ZN8Garfield16RandomEngineRoot4DrawEv[_ZN8Garfield16RandomEngineRoot4DrawEv]+0x12): riferimento non definito a "TRandom3::Rndm(int)"
/home/roberto/garfield/Library/libGarfield.a(magboltz.o): nella funzione "master.0.rm48_":
magboltz-9.01.f:(.text+0x29f): riferimento non definito a "_gfortran_st_write"
magboltz-9.01.f:(.text+0x2b3): riferimento non definito a "_gfortran_transfer_character_write"
magboltz-9.01.f:(.text+0x2c7): riferimento non definito a "_gfortran_transfer_integer_write"
magboltz-9.01.f:(.text+0x2db): riferimento non definito a "_gfortran_transfer_integer_write"
magboltz-9.01.f:(.text+0x2ef): riferimento non definito a "_gfortran_transfer_integer_write"
riferimento non definito
のイタリア語はどこですかundefined reference to
。Makefile に gfortran へのリンクがあるため、問題を理解できません。私が行った場合:
roberto@roberto-HP-Pavilion-dv6-Notebook-PC:~$ root-config --glibs
-L/usr/lib/x86_64-linux-gnu -lGui -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic