尝试集成外部软件包时出现错误

问题描述

我对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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...