问题是这样的:我想将自己的物理过程套用在已给实例上进行程序运行,使用的是AnaEx02。未修改的AnaEx02是可以编译链接通过的,后更改了主函数,增加了我自己的物理过程(G4NRF文件)的头文件源文件等,后编译链接出现“undefined reference to”的错误。目前所作的努力主要在G4NRF.cc文件上,我试图把有问题的代码先去掉,后发现全部注释掉相关函数还是会报有关这个函数的错误。网上的解释是缺少链接库或者链接库的顺序不对,我初学这部分内容知识有待加深,想请问这种问题应该如何debug?是更改对应的.cc文件吗?是函数命名的问题或初设置参数?
终端命令附下:
[100%] Linking CXX executable AnaEx02
CMakeFiles/AnaEx02.dir/shared/src/G4NRF.cc.o:在函数‘G4NRF::G4NRF(G4String const&, bool, bool, bool, bool)’中:
G4NRF.cc:(.text+0x297):对‘Angular_Correlation::Angular_Correlation(bool)’未定义的引用
CMakeFiles/AnaEx02.dir/shared/src/G4NRF.cc.o:在函数‘G4NRF::SampleCorrelation(double, double, double, int, int, double, double)’中:
G4NRF.cc:(.text+0x3483):对‘Angular_Correlation::ReInit(float, float, float, int, int, float, float)’未定义的引用
G4NRF.cc:(.text+0x34da):对‘Angular_Correlation::Sample(float)’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/AnaEx02.dir/build.make:524: recipe for target 'AnaEx02' failed
make[2]: *** [AnaEx02] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/AnaEx02.dir/all' failed
make[1]: *** [CMakeFiles/AnaEx02.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
感谢您的时间,如果我的描述不够详细可随时回复!
期待您的答复!