【发布时间】:2015-06-16 07:44:35
【问题描述】:
我正在尝试第一次使用 Boost 任何东西,所以我想我会从 program_options 开始。我正在运行 Debian Wheezy 的 Raspberry Pi 上进行开发。我从“apt-get install libboost1.49-all”开始,一切似乎都安装正确了。我可以在 /usr/lib 中看到 .a 和 .so 库。
/usr/lib/libboost_program_options.a
/usr/lib/libboost_program_options-mt.a -> libboost_program_options.a
/usr/lib/libboost_program_options-mt.so -> libboost_program_options.so.1.49.0
/usr/lib/libboost_program_options.so -> libboost_program_options.so.1.49.0
/usr/lib/libboost_program_options.so.1.49.0
我可以编译一些我找到的示例源代码 here 使用
g++ boost_program_options.cpp -c
但我无法获得任何链接。我尝试使用 no -l 明确指定库路径,但除了几页未定义的引用错误外什么也没有。我尝试了另一个示例代码并遇到了一个编译问题,这表明我没有使用“g++ -std=c++0x”,但这也不是问题所在。我被困住了。我也试过了
g++ -std=c++0x boostme.cpp -o boostme -L/usr/lib -lboost_program_options
此时我只是用头撞墙。在我到目前为止看到的 stackoverflow 帖子中,我做的一切都是正确的。我头疼。 ;-)
以下只是一些示例错误消息。还在闲逛。
/tmp/ccTbmurt.o: In function `boost::program_options::error_with_option_name::~error_with_option_name()':
boostme.cpp:(.text._ZN5boost15program_options22error_with_option_nameD2Ev[_ZN5boost15program_options22error_with_option_nameD5Ev]+0x118): undefined reference to `vtable for boost::program_options::error_with_option_name'
/tmp/ccTbmurt.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)':
boostme.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x30): undefined reference to `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
【问题讨论】:
标签: c++ boost debian raspbian boost-program-options