我按照此链接https://github.com/pgRouting/osm2pgrouting中的步骤安装osm2pgrouting,安装所有必备软件包后再执行" cmake -H。 -Bbuild"然后" cd build /",但是当我执行" make"时,我遇到以下错误:
扫描目标osm2pgrouting的依赖关系
[3%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / Relation.cpp.o
[7%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / Way.cpp.o
[11%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / OSMDocument.cpp.o
[15%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm2pgrouting.cpp.o
[19%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm_tag.cpp.o
[23%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / Node.cpp.o
[26%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm_element.cpp.o
[30%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / utilities / prog_options.cpp.o
[34%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / utilities / handle_pgpass.cpp.o
[38%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / utilities / utilities.cpp.o
[42%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / osm_nodes_config.cpp.o
[46%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / table_management.cpp.o
[50%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / ways_config.cpp.o
[53%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / ways_vertices_pgr_config.cpp.o
[57%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / pois_config.cpp.o
[61%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / Export2DB.cpp.o
[65%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / osm_relations_config.cpp.o
[69%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / configuration_config.cpp.o
[73%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / database / osm_ways_config.cpp.o
[76%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / parser / ConfigurationParserCallback.cpp.o
[80%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / parser / XMLParser.cpp.o
[84%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / parser / OSMDocumentParserCallback.cpp.o
[88%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / configuration / tag_value.cpp.o
[92%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / configuration / configuration.cpp.o
[96%]构建CXX对象CMakeFiles / osm2pgrouting.dir / src / configuration / tag_key.cpp.o
[100%]链接CXX可执行文件osm2pgrouting
CMakeFiles / osm2pgrouting.dir / src / osm_elements / OSMDocument.cpp.o:在函数boost::program_options::variables_map::operator[](std::string const&) const':
OSMDocument.cpp:(.text._ZNK5boost15program_options13variables_mapixERKSs[_ZNK5boost15program_options13variables_mapixERKSs]+0x1f): undefined reference to
boost :: program_options :: abstract_variables_map :: operator [](std :: string const&)const'
CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm2pgrouting.cpp.o:在函数main':
osm2pgrouting.cpp:(.text+0x305): undefined reference to
boost :: program_options :: options_description :: options_description(std :: string const&,unsigned int,unsigned int)&#39 ;
CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm2pgrouting.cpp.o:在函数pqxx::connect_direct::connect_direct(std::string const&)':
osm2pgrouting.cpp:(.text._ZN4pqxx14connect_directC2ERKSs[_ZN4pqxx14connect_directC5ERKSs]+0x1f): undefined reference to
pqxx :: connectionpolicy :: connectionpolicy(std :: string const&)'
CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm2pgrouting.cpp.o:在函数boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)':
osm2pgrouting.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x76): undefined reference to
boost :: program_options :: detail :: cmdline :: cmdline(std :: vector&gt; const&amp;)&#39;
CMakeFiles / osm2pgrouting.dir / src / osm_elements / osm2pgrouting.cpp.o:在函数std::vector<std::string, std::allocator<std::string> > boost::program_options::to_internal<std::string>(std::vector<std::string, std::allocator<std::string> > const&)':
osm2pgrouting.cpp:(.text._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE[_ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE]+0x46): undefined reference to
boost :: program_options :: to_internal(std :: string const&amp;)&#39;
CMakeFiles / osm2pgrouting.dir / src / utilities / prog_options.cpp.o:在函数get_option_description(boost::program_options::options_description&)':
prog_options.cpp:(.text+0x6e): undefined reference to
boost :: program_options :: options_description :: options_description(std :: string const&amp;,unsigned int,unsigned int)&#39 ;
prog_options.cpp :(。text + 0xe3):未定义引用boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)'
prog_options.cpp:(.text+0x158): undefined reference to
boost :: program_options :: options_description :: options_description(std :: string const&amp;,unsigned int,unsigned int)&#39;
prog_options.cpp :(。text + 0x1cd):未定义引用boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
boost :: program_options :: validation_error :: validation_error(boost :: program_options :: validation_error :: kind_t,std :: string const&amp;,std: :string const&amp;,int)&#39;:
prog_options.cpp :( text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i [_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i] + 0x2E之间):未定义参照boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
prog_options.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x4c): undefined reference to
的boost :: program_options :: error_with_option_name :: error_with_option_name(的std :: string&常量;,放大器的std :: string&常量;,放大器性病:: string const&amp;,int)&#39;
CMakeFiles / osm2pgrouting.dir / src / utilities / prog_options.cpp.o :(。rodata._ZTVN5boost15program_options11typed_valueIbcEE [_ZTVN5boost15program_options11typed_valueIbcEE] + 0x38):未定义引用boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o:(.rodata._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x38): undefined reference to
boost :: program_options :: value_semantic_codecvt_helper :: parse(boost ::任何&amp;,std :: vector&gt; const&amp;,bool)const&#39;
CMakeFiles / osm2pgrouting.dir / src / utilities / prog_options.cpp.o :(。rodata._ZTVN5boost15program_options11typed_valueISscEE [_ZTVN5boost15program_options11typed_valueISscEE] + 0x38):未定义引用boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30): undefined reference to
boost :: program_options :: error_with_option_name :: substitute_placeholders(std :: string const&amp;)const&#39;
CMakeFiles / osm2pgrouting.dir / src / utilities / prog_options.cpp.o :(。rodata._ZTVN5boost15program_options16validation_errorE [_ZTVN5boost15program_options16validation_errorE] + 0x30):未定义引用boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
boost :: program_options :: typed_value :: name()const&# 39 ;:
prog_options.cpp :(。text._ZNK5boost15program_options11typed_valueIbcE4nameEv [_ZNK5boost15program_options11typed_valueIbcE4nameEv] + 0x26):未定义引用boost::program_options::arg'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
boost :: program_options :: typed_value :: xparse(boost :: any&amp;,std :: vector&gt; const&amp;)常量&#39 ;:
prog_options.cpp :( text._ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorISsSaISsEE [_ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorISsSaISsEE] + 0x7a):未定义参照boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool*, int)'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
的boost :: program_options :: typed_value ::名称()const的&#39 ;:
prog_options.cpp :(。text._ZNK5boost15program_options11typed_valueImcE4nameEv [_ZNK5boost15program_options11typed_valueImcE4nameEv] + 0x26):未定义引用boost::program_options::arg'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
boost :: program_options :: typed_value :: name()const&#39;:
prog_options.cpp :(。text._ZNK5boost15program_options11typed_valueISscE4nameEv [_ZNK5boost15program_options11typed_valueISscE4nameEv] + 0x26):未定义引用boost::program_options::arg'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
boost :: program_options :: typed_value :: xparse(boost :: any&amp;,std :: vector&gt; const&amp;)常量&#39 ;:
prog_options.cpp :( text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE [_ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE] + 0x7a):未定义参照boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o: In function
空隙升压:: program_options ::验证(升压::任何&安培;,的std ::矢量,性病::分配器&GT; ,std :: allocator,std :: allocator&gt;&gt;&gt; const&amp;,unsigned long *,long)&#39;:
prog_options.cpp :( text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l [_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l] + 0x11e):未定义参照boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to
的boost :: program_options :: error_with_option_name :: substitute_placeholders(的std :: string&常量放大器;)const的&#39;
CMakeFiles / osm2pgrouting.dir / SRC /公用事业/ prog_options.cpp.o :( rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE [_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE] +的0x30):未定义参照boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
CMakeFiles/osm2pgrouting.dir/src/utilities/prog_options.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to
的boost :: program_options :: error_with_option_name :: substitute_placeholders(标准:: string const&amp;)const&#39;
CMakeFiles / osm2pgrouting.dir / SRC /公用事业/ prog_options.cpp.o :( rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE [_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE] +的0x30):未定义参照boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
CMakeFiles/osm2pgrouting.dir/src/database/Export2DB.cpp.o: In function
osm2pgr :: Export2DB :: has_extension(的std :: string&常量放大器; )const&#39;:
Export2DB.cpp :(。text + 0x398):未定义引用pqxx::transaction_base::exec(std::string const&, std::string const&)'
CMakeFiles/osm2pgrouting.dir/src/database/Export2DB.cpp.o: In function
osm2pgr :: Export2DB :: install_postGIS()const&#39;:
Export2DB.cpp :(。text + 0x5b7):未定义引用pqxx::transaction_base::exec(std::string const&, std::string const&)'
Export2DB.cpp:(.text+0x650): undefined reference to
pqxx :: transaction_base :: exec(std :: string const&amp;,std :: string const&amp;)&#39;
CMakeFiles / osm2pgrouting.dir / src / database / Export2DB.cpp.o:在函数osm2pgr::Export2DB::exists(std::string const&) const':
Export2DB.cpp:(.text+0x8aa): undefined reference to
pqxx :: transaction_base :: exec(std :: string const&amp;,std :: string const&amp;)&#39;
CMakeFiles / osm2pgrouting.dir / src / database / Export2DB.cpp.o:在函数osm2pgr::Export2DB::createTables() const':
Export2DB.cpp:(.text+0xbe9): undefined reference to
pqxx :: transaction_base :: exec(std :: string const&amp;,std :: string const&amp;)&#39;
CMakeFiles / osm2pgrouting.dir / src / database / Export2DB.cpp.o:Export2DB.cpp :(。text + 0xd7e):更多未定义的引用pqxx::transaction_base::exec(std::string const&, std::string const&)' follow
CMakeFiles/osm2pgrouting.dir/src/database/Export2DB.cpp.o: In function
pqxx :: string_traits :: null()&#39;:
Export2DB.cpp :(。text._ZN4pqxx13string_traitsIlE4nullEv [_ZN4pqxx13string_traitsIlE4nullEv] + 0x38):未定义引用pqxx::internal::throw_null_conversion(std::string const&)'
CMakeFiles/osm2pgrouting.dir/src/database/Export2DB.cpp.o: In function
pqxx :: transaction&lt;(pqxx :: isolation_level)0,(pqxx :: readwrite_policy)1&gt; :: transaction(pqxx :: connection_base和放大器;)&#39 ;:
Export2DB.cpp :( text._ZN4pqxx11transactionILNS_15isolation_levelE0ELNS_16readwrite_policyE1EEC1ERNS_15connection_baseE [_ZN4pqxx11transactionILNS_15isolation_levelE0ELNS_16readwrite_policyE1EEC1ERNS_15connection_baseE] + 0x8d):未定义参照pqxx::dbtransaction::fullname(std::string const&, std::string const&)'
Export2DB.cpp:(.text._ZN4pqxx11transactionILNS_15isolation_levelE0ELNS_16readwrite_policyE1EEC1ERNS_15connection_baseE[_ZN4pqxx11transactionILNS_15isolation_levelE0ELNS_16readwrite_policyE1EEC1ERNS_15connection_baseE]+0x142): undefined reference to
pqxx :: basic_transaction :: basic_transaction(pqxx :: connection_base&安培;,的std :: string&常量;,放大器:: pqxx readwrite_policy) &#39;
collect2:错误:ld返回1退出状态
CMakeFiles / osm2pgrouting.dir / build.make:722:目标的配方&#39; osm2pgrouting&#39;失败
make [2]: * [osm2pgrouting]错误1
CMakeFiles / Makefile2:67:目标&#39; CMakeFiles / osm2pgrouting.dir / all&#39;失败
make [1]:* [CMakeFiles / osm2pgrouting.dir / all]错误2
Makefile:127:目标配方&#39;全部&#39;失败
make:*** [all]错误2
不知道为什么会这样,有人能帮帮我吗?非常感谢!