对于C ++,我是完全陌生的,可以在Linux上工作或进行一般的编译。我有另一位科学家的代码,我正在尝试使用自己的Makefile编译和链接他的工作。但是,关于未定义的引用,我得到了一个错误...
Makefile是
#CC = g++
CC = mpicxx
#CPPFLAGS = -I ../../include -g
#LDFLAGS = -lboost_program_options -g
CPPFLAGS = -I ../../include -O3
LDFLAGS = -lboost_program_options -lboost_mpi -lboost_serialization -O3
BUILD = ../../build/
vpath %.h ../../include
#vpath %.cpp src
TARGET = calc_num_walks
all: $(TARGET)
$(TARGET): calc_num_walks.o $(BUILD)origami_system.o $(BUILD)utility.o $(BUILD)nearest_neighbour.o $(BUILD)files.o $(BUILD)jsoncpp.o $(BUILD)domain.o $(BUILD)simulation.o $(BUILD)parser.o $(BUILD)random_gens.o $(BUILD)movetypes.o $(BUILD)ideal_random_walk.o
$(CC) -o $@ $^ $(LDFLAGS)
calc_num_walks.o: calc_num_walks.cpp
$(CC) -c $^ $(CPPFLAGS)
clean:
rm *.o
现在这是运行Makefile后收到的输出:
mpicxx -o calc_num_walks calc_num_walks.o ../../build/origami_system.o ../../build/utility.o ../../build/nearest_neighbour.o ../../build/files.o ../../build/jsoncpp.o ../../build/domain.o ../../build/simulation.o ../../build/parser.o ../../build/random_gens.o ../../build/movetypes.o ../../build/ideal_random_walk.o -lboost_program_options -lboost_mpi -lboost_serialization -O3
/usr/bin/x86_64-linux-gnu-ld: calc_num_walks.o: in function `boost::archive::detail::common_oarchive<boost::archive::binary_oarchive>::vsave(boost::archive::class_name_type const&)':
calc_num_walks.cpp:(.text._ZN5boost7archive6detail15common_oarchiveINS0_15binary_oarchiveEE5vsaveERKNS0_15class_name_typeE[_ZN5boost7archive6detail15common_oarchiveINS0_15binary_oarchiveEE5vsaveERKNS0_15class_name_typeE]+0x43): undefined reference to `boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::string const&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::OrigamiSystem(std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > const&, std::vector<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, std::vector<double, std::allocator<double> >, std::vector<double, std::allocator<double> >, std::vector<origami::Chain, std::allocator<origami::Chain> > const&, bool, double, parser::InputParameters&)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:63: undefined reference to `potential::OrigamiPotential::OrigamiPotential(std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::vector<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, std::vector<double, std::allocator<double> >, std::vector<double, std::allocator<double> >, parser::InputParameters&)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:63: undefined reference to `potential::OrigamiPotential::~OrigamiPotential()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::~OrigamiSystem()':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:74: undefined reference to `potential::OrigamiPotential::~OrigamiPotential()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::check_domains_complementary(domainContainer::Domain&, domainContainer::Domain&)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:136: undefined reference to `potential::OrigamiPotential::check_domains_complementary(domainContainer::Domain&, domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::update_enthalpy_and_entropy()':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:218: undefined reference to `potential::OrigamiPotential::hybridization_enthalpy(domainContainer::Domain const&, domainContainer::Domain const&) const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:220: undefined reference to `potential::OrigamiPotential::hybridization_entropy(domainContainer::Domain const&, domainContainer::Domain const&) const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:242: undefined reference to `potential::OrigamiPotential::init_enthalpy() const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:243: undefined reference to `potential::OrigamiPotential::init_entropy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::init_energy()':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:265: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::check_all_constraints()':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:293: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:324: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::add_chain(int)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:397: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::delete_chain(int)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:471: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::set_checked_domain_config(domainContainer::Domain&, utility::VectorThree, utility::VectorThree)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:490: undefined reference to `potential::OrigamiPotential::hybridization_energy(domainContainer::Domain const&, domainContainer::Domain const&) const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:493: undefined reference to `potential::OrigamiPotential::hybridization_energy(domainContainer::Domain const&, domainContainer::Domain const&) const'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:495: undefined reference to `potential::OrigamiPotential::check_stacking(domainContainer::Domain&, domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::update_temp(double, double)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:620: undefined reference to `potential::OrigamiPotential::update_temp(double, double)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::initialize_staples(std::vector<origami::Chain, std::allocator<origami::Chain> >)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:673: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::internal_unassign_domain(domainContainer::Domain&)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:704: undefined reference to `potential::OrigamiPotential::check_stacking(domainContainer::Domain&, domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::unassign_bound_domain(domainContainer::Domain&)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:743: undefined reference to `potential::OrigamiPotential::hybridization_energy(domainContainer::Domain const&, domainContainer::Domain const&) const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::update_energy()':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:824: undefined reference to `potential::OrigamiPotential::init_energy() const'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystem::internal_check_domain_constraints(domainContainer::Domain&, utility::VectorThree, utility::VectorThree)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:850: undefined reference to `potential::OrigamiPotential::bind_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystemWithBias::check_domain_constraints(domainContainer::Domain&, utility::VectorThree, utility::VectorThree)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:907: undefined reference to `potential::OrigamiPotential::check_domains_complementary(domainContainer::Domain&, domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:918: undefined reference to `orderParams::SystemOrderParams::check_one_domain(domainContainer::Domain&, utility::VectorThree, utility::VectorThree, utility::Occupancy)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:919: undefined reference to `biasFunctions::SystemBiases::check_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystemWithBias::unassign_domain(domainContainer::Domain&)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:931: undefined reference to `orderParams::SystemOrderParams::update_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:932: undefined reference to `biasFunctions::SystemBiases::calc_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystemWithBias::set_checked_domain_config(domainContainer::Domain&, utility::VectorThree, utility::VectorThree)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:944: undefined reference to `orderParams::SystemOrderParams::update_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/origami_system.cpp:945: undefined reference to `biasFunctions::SystemBiases::calc_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `origami::OrigamiSystemWithBias::set_domain_config(domainContainer::Domain&, utility::VectorThree, utility::VectorThree)':
/home/jakub/LatticeDNAOrigami/src/origami_system.cpp:955: undefined reference to `biasFunctions::SystemBiases::calc_one_domain(domainContainer::Domain&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `std::_MakeUniq<orderParams::SystemOrderParams>::__single_object std::make_unique<orderParams::SystemOrderParams, parser::InputParameters&, origami::OrigamiSystem&>(parser::InputParameters&, origami::OrigamiSystem&)':
/usr/include/c++/6/bits/unique_ptr.h:795: undefined reference to `orderParams::SystemOrderParams::SystemOrderParams(parser::InputParameters&, origami::OrigamiSystem&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/origami_system.o: in function `std::_MakeUniq<biasFunctions::SystemBiases>::__single_object std::make_unique<biasFunctions::SystemBiases, origami::OrigamiSystem&, orderParams::SystemOrderParams&, parser::InputParameters&>(origami::OrigamiSystem&, orderParams::SystemOrderParams&, parser::InputParameters&)':
/usr/include/c++/6/bits/unique_ptr.h:795: undefined reference to `biasFunctions::SystemBiases::SystemBiases(origami::OrigamiSystem&, orderParams::SystemOrderParams&, parser::InputParameters&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/files.o: in function `files::OrigamiEnergiesOutputFile::write(long, double)':
/home/jakub/LatticeDNAOrigami/src/files.cpp:652: undefined reference to `biasFunctions::SystemBiases::get_total_bias()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/files.o: in function `files::OrigamiOrderParamsOutputFile::OrigamiOrderParamsOutputFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, origami::OrigamiSystem&, orderParams::SystemOrderParams&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)':
/home/jakub/LatticeDNAOrigami/src/files.cpp:695: undefined reference to `orderParams::SystemOrderParams::get_order_param(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_orientation_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:305: undefined reference to `movetypes::OrientationRotationMCMovetype::OrientationRotationMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_staple_exchange_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:331: undefined reference to `movetypes::MetStapleExchangeMCMovetype::MetStapleExchangeMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, std::vector<double, std::allocator<double> >, bool)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_staple_regrowth_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:352: undefined reference to `movetypes::MetStapleRegrowthMCMovetype::MetStapleRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:363: undefined reference to `movetypes::CBStapleRegrowthMCMovetype::CBStapleRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_scaffold_regrowth_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:391: undefined reference to `movetypes::CTCBScaffoldRegrowthMCMovetype::CTCBScaffoldRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:407: undefined reference to `movetypes::CTCBJumpScaffoldRegrowthMCMovetype::CTCBJumpScaffoldRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_scaffold_transform_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:442: undefined reference to `movetypes::CTCBLinkerRegrowthMCMovetype::CTCBLinkerRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int, unsigned int, unsigned int, int)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:458: undefined reference to `movetypes::CTCBClusteredLinkerRegrowthMCMovetype::CTCBClusteredLinkerRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int, unsigned int, int)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:480: undefined reference to `movetypes::CTRGLinkerRegrowthMCMovetype::CTRGLinkerRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int, int, int, unsigned int, unsigned int, int)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::setup_rg_movetype(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, files::OrigamiMovetypeFile&, movetypes::MCMovetype*)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:512: undefined reference to `movetypes::CTRGScaffoldRegrowthMCMovetype::CTRGScaffoldRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int, int)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:530: undefined reference to `movetypes::CTRGJumpScaffoldRegrowthMCMovetype::CTRGJumpScaffoldRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int, int, int)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::simulate(long long, long long, bool, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:553: undefined reference to `orderParams::SystemOrderParams::update_move_params()'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:554: undefined reference to `biasFunctions::SystemBiases::calc_move()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `simulation::GCMCSimulation::write_log_entry(long long, bool, movetypes::MCMovetype&)':
/home/jakub/LatticeDNAOrigami/src/simulation.cpp:657: undefined reference to `biasFunctions::SystemBiases::get_total_bias()'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:660: undefined reference to `biasFunctions::SystemBiases::get_domain_update_bias()'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/simulation.cpp:662: undefined reference to `biasFunctions::SystemBiases::get_move_update_bias()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:461: undefined reference to `boost::system::system_category()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
/usr/include/boost/system/error_code.hpp:703: undefined reference to `boost::system::generic_category()'
/usr/bin/x86_64-linux-gnu-ld: /usr/include/boost/system/error_code.hpp:706: undefined reference to `boost::system::generic_category()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::system::error_category::std_category::equivalent(std::error_code const&, int) const':
/usr/include/boost/system/error_code.hpp:733: undefined reference to `boost::system::generic_category()'
/usr/bin/x86_64-linux-gnu-ld: /usr/include/boost/system/error_code.hpp:736: undefined reference to `boost::system::generic_category()'
/usr/bin/x86_64-linux-gnu-ld: /usr/include/boost/system/error_code.hpp:748: undefined reference to `boost::system::generic_category()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::filesystem::operator/(boost::filesystem::path const&, boost::filesystem::path const&)':
/usr/include/boost/filesystem/path.hpp:792: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:230: undefined reference to `boost::system::system_category()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `boost::filesystem::is_regular_file(boost::filesystem::path const&, boost::system::error_code&)':
/usr/include/boost/filesystem/operations.hpp:459: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/simulation.o: in function `std::hash<std::pair<utility::VectorThree, int> >::operator()(std::pair<utility::VectorThree, int> const&) const':
/home/jakub/LatticeDNAOrigami/include/hash.h:90: undefined reference to `std::hash_value(utility::VectorThree const&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/movetypes.o: in function `movetypes::CTRegrowthMCMovetype::CTRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int)':
/home/jakub/LatticeDNAOrigami/src/movetypes.cpp:441: undefined reference to `topConstraintPoints::Constraintpoints::Constraintpoints(origami::OrigamiSystem&, idealRandomWalk::IdealRandomWalks&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/movetypes.o: in function `movetypes::CTRegrowthMCMovetype::CTRegrowthMCMovetype(origami::OrigamiSystem&, randomGen::RandomGens&, idealRandomWalk::IdealRandomWalks&, std::vector<files::OrigamiOutputFile*, std::allocator<files::OrigamiOutputFile*> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, orderParams::SystemOrderParams&, biasFunctions::SystemBiases&, parser::InputParameters&, int, int, int)':
/home/jakub/LatticeDNAOrigami/src/movetypes.cpp:441: undefined reference to `topConstraintPoints::Constraintpoints::Constraintpoints(origami::OrigamiSystem&, idealRandomWalk::IdealRandomWalks&)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/movetypes.o: in function `movetypes::CTRegrowthMCMovetype::reset_internal()':
/home/jakub/LatticeDNAOrigami/src/movetypes.cpp:447: undefined reference to `topConstraintPoints::Constraintpoints::reset_internal()'
/usr/bin/x86_64-linux-gnu-ld: ../../build/movetypes.o: in function `movetypes::CTRegrowthMCMovetype::select_indices(std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >, unsigned int, int)':
/home/jakub/LatticeDNAOrigami/src/movetypes.cpp:508: undefined reference to `topConstraintPoints::Constraintpoints::add_active_endpoint(domainContainer::Domain*, utility::VectorThree, int)'
/usr/bin/x86_64-linux-gnu-ld: ../../build/movetypes.o: in function `movetypes::CTRegrowthMCMovetype::select_noncontig_segs(std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >&, std::vector<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >, std::allocator<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> > > >&, std::vector<std::vector<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >, std::allocator<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> > > >, std::allocator<std::vector<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >, std::allocator<std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> > > > > >&, std::vector<domainContainer::Domain*, std::allocator<domainContainer::Domain*> >&, std::vector<int, std::allocator<int> >&)':
/home/jakub/LatticeDNAOrigami/src/movetypes.cpp:624: undefined reference to `topConstraintPoints::Constraintpoints::add_active_endpoint(domainContainer::Domain*, utility::VectorThree, int)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/movetypes.cpp:631: undefined reference to `topConstraintPoints::Constraintpoints::add_growthpoint(domainContainer::Domain*, domainContainer::Domain*)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/movetypes.cpp:632: undefined reference to `topConstraintPoints::Constraintpoints::add_stem_seg_pair(domainContainer::Domain*, std::vector<int, std::allocator<int> >)'
/usr/bin/x86_64-linux-gnu-ld: /home/jakub/LatticeDNAOrigami/src/movetypes.cpp:645: undefined reference to `topConstraintPoints::Constraintpoints::add_active_endpoint(domainContainer::Domain*, utility::VectorThree, int)'
collect2: error: ld returned 1 exit status
Makefile:16: recipe for target 'calc_num_walks' failed
make: *** [calc_num_walks] Error 1
现在,我已经尝试了许多在线发布的解决方案,但是都没有成功。我已经阅读了用于创建的不同对象的GCC的不同版本,尽管我相信所有内容都使用相同的版本。