提高:;program_options 1.49 - 无法与 -lboost_program_options 链接
Boost:;program_options 1.49 - can't link with -lboost_program_options
我第一次尝试使用Boost anything,所以我想从program_options开始。我正在开发运行Debian Wheezy的树莓派。我从"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
我可以使用编译我在这里找到的一些示例源代码
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)'
因为析构函数的签名实际上应该是
~error_with_option_name() throw() {}
我要看看我的水晶球,然后说——也许——在你的代码库中可能隐藏了#define throw()
或类似的东西。
也就是说,或您的包含路径中可能有冲突版本的头文件,这些头文件与链接时中找到的库的版本不一致
相关文章:
- Monty Hall program c++
- "Program ended with exit code: 0"出现在我的输出的开头?
- LCM program in C++
- 为什么 C++ 编译器在"c:program filesgnu emacsinclude"中查找包含文件?
- 在 EAX 模式下加密数据时"program has stopped working"
- 为什么删除执行组件指针会导致"Program.exe has triggered a breakpoint"
- for(;;) vs do..while() for main program loop
- 如何将 Python 脚本通过管道传输到命令(boost::p rogram::options)
- C++ "Program has stopped working" - ROT-107(凯撒密码)
- OS X Eclipse C++ "Program File Does Not Exist"
- 在 Eclipse.It 中运行C++代码时出错,'Your program cannot output..'
- 如何设置Visual Studio来调试DLL ("Unable to start program error")
- 标准Windows 7用户如何能够删除C:Program Files下的文件
- xlC 警告,"The NOSTRICT option has the potential to alter the semantics of a program"
- 树莓派"error: stray 255 in program"
- 错误"<url> is not recognized as an internal or external command, operable program or batch file.
- 错误 PRJ0002:错误结果 -1073741515 从"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.
- 很多杂散错误 - "error: stray ‘210’ in program in C++"
- Boost-program-options:无值选项的通知器
- 为什么 Boost 使用全局函数覆盖来实现自定义验证程序"Program Options"