boost 库(v1.75 到 1.77)未完全由编译生成
boost libraries (v1.75 to 1.77) aren't fully generated by compilation
我在 ubuntu 16.04 和 18.04 上编译了 boost 库 v1.75、v1.76 和 v1.77。
根据我是在 ubuntu 16.4 还是 18.04 系统上编译 boost 库,我不会获得相同的库集。
在 ubuntu 16.04 上只生成了 96 个库,而在 ubuntu 18.04.
上生成了 123 个库
显然,我在 ubuntu 16.04 上需要一个缺少的库 (libboost_json.a)。
在 ubuntu 16.04 上生成的库列表下方:
cmake libboost_filesystem.so libboost_program_options.so libboost_stacktrace_noop.so
libboost_atomic.a libboost_filesystem.so.1.77.0 libboost_program_options.so.1.77.0 libboost_stacktrace_noop.so.1.77.0
libboost_atomic.so libboost_graph.a libboost_python37.a libboost_system.a
libboost_atomic.so.1.77.0 libboost_graph.so libboost_python37.so libboost_system.so
libboost_chrono.a libboost_graph.so.1.77.0 libboost_python37.so.1.77.0 libboost_system.so.1.77.0
libboost_chrono.so libboost_iostreams.a libboost_random.a libboost_test_exec_monitor.a
libboost_chrono.so.1.77.0 libboost_iostreams.so libboost_random.so libboost_thread.a
libboost_container.a libboost_iostreams.so.1.77.0 libboost_random.so.1.77.0 libboost_thread.so
libboost_container.so libboost_locale.a libboost_regex.a libboost_thread.so.1.77.0
libboost_container.so.1.77.0 libboost_locale.so libboost_regex.so libboost_timer.a
libboost_context.a libboost_locale.so.1.77.0 libboost_regex.so.1.77.0 libboost_timer.so
libboost_context.so libboost_log.a libboost_serialization.a libboost_timer.so.1.77.0
libboost_context.so.1.77.0 libboost_log_setup.a libboost_serialization.so libboost_type_erasure.a
libboost_contract.a libboost_log_setup.so libboost_serialization.so.1.77.0 libboost_type_erasure.so
libboost_contract.so libboost_log_setup.so.1.77.0 libboost_stacktrace_addr2line.a libboost_type_erasure.so.1.77.0
libboost_contract.so.1.77.0 libboost_log.so libboost_stacktrace_addr2line.so libboost_unit_test_framework.a
libboost_coroutine.a libboost_log.so.1.77.0 libboost_stacktrace_addr2line.so.1.77.0 libboost_unit_test_framework.so
libboost_coroutine.so libboost_numpy37.a libboost_stacktrace_backtrace.a libboost_unit_test_framework.so.1.77.0
libboost_coroutine.so.1.77.0 libboost_numpy37.so libboost_stacktrace_backtrace.so libboost_wave.a
libboost_date_time.a libboost_numpy37.so.1.77.0 libboost_stacktrace_backtrace.so.1.77.0 libboost_wave.so
libboost_date_time.so libboost_prg_exec_monitor.a libboost_stacktrace_basic.a libboost_wave.so.1.77.0
libboost_date_time.so.1.77.0 libboost_prg_exec_monitor.so libboost_stacktrace_basic.so libboost_wserialization.a
libboost_exception.a libboost_prg_exec_monitor.so.1.77.0 libboost_stacktrace_basic.so.1.77.0 libboost_wserialization.so
libboost_filesystem.a libboost_program_options.a libboost_stacktrace_noop.a libboost_wserialization.so.1.77.0
在 ubuntu 18.04 上生成的库列表下方:
cmake libboost_graph.so.1.77.0 libboost_math_tr1l.so.1.77.0 libboost_stacktrace_backtrace.so
libboost_atomic.a libboost_iostreams.a libboost_math_tr1.so libboost_stacktrace_backtrace.so.1.77.0
libboost_atomic.so libboost_iostreams.so libboost_math_tr1.so.1.77.0 libboost_stacktrace_basic.a
libboost_atomic.so.1.77.0 libboost_iostreams.so.1.77.0 libboost_nowide.a libboost_stacktrace_basic.so
libboost_chrono.a libboost_json.a libboost_nowide.so libboost_stacktrace_basic.so.1.77.0
libboost_chrono.so libboost_json.so libboost_nowide.so.1.77.0 libboost_stacktrace_noop.a
libboost_chrono.so.1.77.0 libboost_json.so.1.77.0 libboost_numpy27.a libboost_stacktrace_noop.so
libboost_container.a libboost_locale.a libboost_numpy27.so libboost_stacktrace_noop.so.1.77.0
libboost_container.so libboost_locale.so libboost_numpy27.so.1.77.0 libboost_system.a
libboost_container.so.1.77.0 libboost_locale.so.1.77.0 libboost_prg_exec_monitor.a libboost_system.so
libboost_context.a libboost_log.a libboost_prg_exec_monitor.so libboost_system.so.1.77.0
libboost_context.so libboost_log_setup.a libboost_prg_exec_monitor.so.1.77.0 libboost_test_exec_monitor.a
libboost_context.so.1.77.0 libboost_log_setup.so libboost_program_options.a libboost_thread.a
libboost_contract.a libboost_log_setup.so.1.77.0 libboost_program_options.so libboost_thread.so
libboost_contract.so libboost_log.so libboost_program_options.so.1.77.0 libboost_thread.so.1.77.0
libboost_contract.so.1.77.0 libboost_log.so.1.77.0 libboost_python27.a libboost_timer.a
libboost_coroutine.a libboost_math_c99.a libboost_python27.so libboost_timer.so
libboost_coroutine.so libboost_math_c99f.a libboost_python27.so.1.77.0 libboost_timer.so.1.77.0
libboost_coroutine.so.1.77.0 libboost_math_c99f.so libboost_random.a libboost_type_erasure.a
libboost_date_time.a libboost_math_c99f.so.1.77.0 libboost_random.so libboost_type_erasure.so
libboost_date_time.so libboost_math_c99l.a libboost_random.so.1.77.0 libboost_type_erasure.so.1.77.0
libboost_date_time.so.1.77.0 libboost_math_c99l.so libboost_regex.a libboost_unit_test_framework.a
libboost_exception.a libboost_math_c99l.so.1.77.0 libboost_regex.so libboost_unit_test_framework.so
libboost_fiber.a libboost_math_c99.so libboost_regex.so.1.77.0 libboost_unit_test_framework.so.1.77.0
libboost_fiber.so libboost_math_c99.so.1.77.0 libboost_serialization.a libboost_wave.a
libboost_fiber.so.1.77.0 libboost_math_tr1.a libboost_serialization.so libboost_wave.so
libboost_filesystem.a libboost_math_tr1f.a libboost_serialization.so.1.77.0 libboost_wave.so.1.77.0
libboost_filesystem.so libboost_math_tr1f.so libboost_stacktrace_addr2line.a libboost_wserialization.a
libboost_filesystem.so.1.77.0 libboost_math_tr1f.so.1.77.0 libboost_stacktrace_addr2line.so libboost_wserialization.so
libboost_graph.a libboost_math_tr1l.a libboost_stacktrace_addr2line.so.1.77.0 libboost_wserialization.so.1.77.0
libboost_graph.so libboost_math_tr1l.so libboost_stacktrace_backtrace.a
非常感谢提示。
在 ubuntu 16.04 上,我的编译器是:
(base) syl@WorkStation-T3500:~/tmp/boost_1_77_0$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
此版本不支持必要的 C++11 标准要求。
我不得不通过 b2 将 gcc“-std”选项强制用于 C++14:
./b2 cxxflags="-std=c++14"
然后所有库都被编译并正确生成。
我在 ubuntu 16.04 和 18.04 上编译了 boost 库 v1.75、v1.76 和 v1.77。
根据我是在 ubuntu 16.4 还是 18.04 系统上编译 boost 库,我不会获得相同的库集。 在 ubuntu 16.04 上只生成了 96 个库,而在 ubuntu 18.04.
上生成了 123 个库显然,我在 ubuntu 16.04 上需要一个缺少的库 (libboost_json.a)。
在 ubuntu 16.04 上生成的库列表下方:
cmake libboost_filesystem.so libboost_program_options.so libboost_stacktrace_noop.so
libboost_atomic.a libboost_filesystem.so.1.77.0 libboost_program_options.so.1.77.0 libboost_stacktrace_noop.so.1.77.0
libboost_atomic.so libboost_graph.a libboost_python37.a libboost_system.a
libboost_atomic.so.1.77.0 libboost_graph.so libboost_python37.so libboost_system.so
libboost_chrono.a libboost_graph.so.1.77.0 libboost_python37.so.1.77.0 libboost_system.so.1.77.0
libboost_chrono.so libboost_iostreams.a libboost_random.a libboost_test_exec_monitor.a
libboost_chrono.so.1.77.0 libboost_iostreams.so libboost_random.so libboost_thread.a
libboost_container.a libboost_iostreams.so.1.77.0 libboost_random.so.1.77.0 libboost_thread.so
libboost_container.so libboost_locale.a libboost_regex.a libboost_thread.so.1.77.0
libboost_container.so.1.77.0 libboost_locale.so libboost_regex.so libboost_timer.a
libboost_context.a libboost_locale.so.1.77.0 libboost_regex.so.1.77.0 libboost_timer.so
libboost_context.so libboost_log.a libboost_serialization.a libboost_timer.so.1.77.0
libboost_context.so.1.77.0 libboost_log_setup.a libboost_serialization.so libboost_type_erasure.a
libboost_contract.a libboost_log_setup.so libboost_serialization.so.1.77.0 libboost_type_erasure.so
libboost_contract.so libboost_log_setup.so.1.77.0 libboost_stacktrace_addr2line.a libboost_type_erasure.so.1.77.0
libboost_contract.so.1.77.0 libboost_log.so libboost_stacktrace_addr2line.so libboost_unit_test_framework.a
libboost_coroutine.a libboost_log.so.1.77.0 libboost_stacktrace_addr2line.so.1.77.0 libboost_unit_test_framework.so
libboost_coroutine.so libboost_numpy37.a libboost_stacktrace_backtrace.a libboost_unit_test_framework.so.1.77.0
libboost_coroutine.so.1.77.0 libboost_numpy37.so libboost_stacktrace_backtrace.so libboost_wave.a
libboost_date_time.a libboost_numpy37.so.1.77.0 libboost_stacktrace_backtrace.so.1.77.0 libboost_wave.so
libboost_date_time.so libboost_prg_exec_monitor.a libboost_stacktrace_basic.a libboost_wave.so.1.77.0
libboost_date_time.so.1.77.0 libboost_prg_exec_monitor.so libboost_stacktrace_basic.so libboost_wserialization.a
libboost_exception.a libboost_prg_exec_monitor.so.1.77.0 libboost_stacktrace_basic.so.1.77.0 libboost_wserialization.so
libboost_filesystem.a libboost_program_options.a libboost_stacktrace_noop.a libboost_wserialization.so.1.77.0
在 ubuntu 18.04 上生成的库列表下方:
cmake libboost_graph.so.1.77.0 libboost_math_tr1l.so.1.77.0 libboost_stacktrace_backtrace.so
libboost_atomic.a libboost_iostreams.a libboost_math_tr1.so libboost_stacktrace_backtrace.so.1.77.0
libboost_atomic.so libboost_iostreams.so libboost_math_tr1.so.1.77.0 libboost_stacktrace_basic.a
libboost_atomic.so.1.77.0 libboost_iostreams.so.1.77.0 libboost_nowide.a libboost_stacktrace_basic.so
libboost_chrono.a libboost_json.a libboost_nowide.so libboost_stacktrace_basic.so.1.77.0
libboost_chrono.so libboost_json.so libboost_nowide.so.1.77.0 libboost_stacktrace_noop.a
libboost_chrono.so.1.77.0 libboost_json.so.1.77.0 libboost_numpy27.a libboost_stacktrace_noop.so
libboost_container.a libboost_locale.a libboost_numpy27.so libboost_stacktrace_noop.so.1.77.0
libboost_container.so libboost_locale.so libboost_numpy27.so.1.77.0 libboost_system.a
libboost_container.so.1.77.0 libboost_locale.so.1.77.0 libboost_prg_exec_monitor.a libboost_system.so
libboost_context.a libboost_log.a libboost_prg_exec_monitor.so libboost_system.so.1.77.0
libboost_context.so libboost_log_setup.a libboost_prg_exec_monitor.so.1.77.0 libboost_test_exec_monitor.a
libboost_context.so.1.77.0 libboost_log_setup.so libboost_program_options.a libboost_thread.a
libboost_contract.a libboost_log_setup.so.1.77.0 libboost_program_options.so libboost_thread.so
libboost_contract.so libboost_log.so libboost_program_options.so.1.77.0 libboost_thread.so.1.77.0
libboost_contract.so.1.77.0 libboost_log.so.1.77.0 libboost_python27.a libboost_timer.a
libboost_coroutine.a libboost_math_c99.a libboost_python27.so libboost_timer.so
libboost_coroutine.so libboost_math_c99f.a libboost_python27.so.1.77.0 libboost_timer.so.1.77.0
libboost_coroutine.so.1.77.0 libboost_math_c99f.so libboost_random.a libboost_type_erasure.a
libboost_date_time.a libboost_math_c99f.so.1.77.0 libboost_random.so libboost_type_erasure.so
libboost_date_time.so libboost_math_c99l.a libboost_random.so.1.77.0 libboost_type_erasure.so.1.77.0
libboost_date_time.so.1.77.0 libboost_math_c99l.so libboost_regex.a libboost_unit_test_framework.a
libboost_exception.a libboost_math_c99l.so.1.77.0 libboost_regex.so libboost_unit_test_framework.so
libboost_fiber.a libboost_math_c99.so libboost_regex.so.1.77.0 libboost_unit_test_framework.so.1.77.0
libboost_fiber.so libboost_math_c99.so.1.77.0 libboost_serialization.a libboost_wave.a
libboost_fiber.so.1.77.0 libboost_math_tr1.a libboost_serialization.so libboost_wave.so
libboost_filesystem.a libboost_math_tr1f.a libboost_serialization.so.1.77.0 libboost_wave.so.1.77.0
libboost_filesystem.so libboost_math_tr1f.so libboost_stacktrace_addr2line.a libboost_wserialization.a
libboost_filesystem.so.1.77.0 libboost_math_tr1f.so.1.77.0 libboost_stacktrace_addr2line.so libboost_wserialization.so
libboost_graph.a libboost_math_tr1l.a libboost_stacktrace_addr2line.so.1.77.0 libboost_wserialization.so.1.77.0
libboost_graph.so libboost_math_tr1l.so libboost_stacktrace_backtrace.a
非常感谢提示。
在 ubuntu 16.04 上,我的编译器是:
(base) syl@WorkStation-T3500:~/tmp/boost_1_77_0$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
此版本不支持必要的 C++11 标准要求。
我不得不通过 b2 将 gcc“-std”选项强制用于 C++14:
./b2 cxxflags="-std=c++14"
然后所有库都被编译并正确生成。