问题描述
我对Linux还是很陌生,在将外部软件集成到程序中时遇到问题。我正在遵循有关集成几行代码的说明,这些代码行一步一步地集成了Application development section here中列出的软件。
我通过了一些说明[我删除了Jansson],并且已经独立测试了该程序包并对其进行了构建,因此它可以在外部使用。问题是在make install
命令之后进行积分时,它显示以下错误:
Scanning dependencies of target g4sipm_sample
[ 63%] Building CXX object externals/g4sipm/sample/CMakeFiles/g4sipm_sample.dir/src/ActionInitialization.cc.o
/home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc: In member function ‘virtual void ActionInitialization::Build() const’:
/home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:45:38: error: no matching function for call to ‘RunAction::RunAction(const string&)’
45 | SetUserAction(new RunAction(filename));
| ^
In file included from /home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:21:
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/RunAction.hh:35:2: note: candidate: ‘RunAction::RunAction(SimulationMessenger*)’
35 | RunAction( SimulationMessenger * simulationMessenger /**< class storing and providing variables which are needed in different parts of the simulation. */
| ^~~~~~~~~
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/RunAction.hh:35:35: note: no known conversion for argument 1 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘SimulationMessenger*’
35 | RunAction( SimulationMessenger * simulationMessenger /**< class storing and providing variables which are needed in different parts of the simulation. */
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/RunAction.hh:26:7: note: candidate: ‘constexpr RunAction::RunAction(const RunAction&)’
26 | class RunAction : public G4UserRunAction
| ^~~~~~~~~
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/RunAction.hh:26:7: note: no known conversion for argument 1 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘const RunAction&’
/home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:46:20: error: no matching function for call to ‘EventAction::EventAction()’
46 | SetUserAction(new EventAction);
| ^~~~~~~~~~~
In file included from /home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:20:
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/EventAction.hh:38:2: note: candidate: ‘EventAction::EventAction(SimulationMessenger*)’
38 | EventAction( SimulationMessenger * simulationMessenger /**< class storing and providing variables which are needed in different parts of the simulation. */
| ^~~~~~~~~~~
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/EventAction.hh:38:2: note: candidate expects 1 argument,0 provided
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/EventAction.hh:30:7: note: candidate: ‘constexpr EventAction::EventAction(const EventAction&)’
30 | class EventAction : public G4UserEventAction
| ^~~~~~~~~~~
/home/abhinab1/goddess/source/Simulation/include/DataProcessing/EventAction.hh:30:7: note: candidate expects 1 argument,0 provided
/home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:52:57: error: ‘const class DetectorConstruction’ has no member named ‘getSipmModel’
52 | ParticleSourceMessenger::getInstance()->setA(detector->getSipmModel()->getPitch());
| ^~~~~~~~~~~~
/home/abhinab1/goddess/source/externals/g4sipm/sample/src/ActionInitialization.cc:53:57: error: ‘const class DetectorConstruction’ has no member named ‘getSipmModel’
53 | ParticleSourceMessenger::getInstance()->setB(detector->getSipmModel()->getPitch());
这是我在CMakeFile.txt中所做的更改:
add_subdirectory(externals/g4sipm)
include_directories(externals/g4sipm/g4sipm/include)
include_directories(externals/g4sipm/externals/gtest/include)
# Export sims data
include_directories(externals/g4sipm/sample/include)
set(LIBS ${LIBS} boost_program_options g4sipm g4sipm_sample boost_date_time jansson)
target_link_libraries(RunSimulation g4sipm boost_date_time)
我尝试与项目负责人联系,但似乎他们都已离开该项目。任何帮助和建议,将不胜感激,谢谢!!
编辑:添加时我犯了一个小错误
include_directories(externals/g4sipm/sample)
我删除的Checklist.txt中的。 错误减少了,但没有消失,我已将更新的终端输出放在上面。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)