今天在编译一个用到boost_program_options的库的时候出现了一点点小问题。总是提示说找不到boost_program_options这个库。
去/usr/local/lib下面看了一下,发现原来改名成libboost_program_options-mt.dylib了。搜了一下名字中这个mt的意思。
原来是boost1.33的新特性,就是区分了某些lib是单线程或者多线程的。这个区分导致必须显式的指明使用的是多线程还是单线程的库。
自然mt就是指的多线程,st指的单线程。
改用-lboost_program_options-mt以后,编译ok。问题解决。
本文解决了在编译使用boost_program_options的项目时遇到的问题。因库文件更名且引入了多线程(mt)与单线程(st)的区别,需明确指定所需的库版本。更改链接器指令为-lboost_program_options-mt后,成功解决了编译问题。
3694

被折叠的 条评论
为什么被折叠?



