我使用boost一個問題:program_options用的boost :: program_options緩衝區溢出
這個簡單的程序,從提升文件複製粘貼:
#include <boost/program_options.hpp>
int main(int argc, char** argv)
{
namespace po = boost::program_options;
po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("compression", po::value<int>(), "set compression level")
;
return 0;
}
失敗,出現緩衝區溢出。
我已經激活了「緩衝安全開關」,當我運行它,我得到一個「未知異常(0xc0000409)」當我跨過線desc.add_options()...
我使用Visual Studio 2005和提升1.43.0 。
順便說一句,如果我停用開關,但我覺得這樣做不舒服......除非可以在本地停用它。
那麼你有解決這個問題的辦法嗎?
編輯 我發現我被鏈接到的libboost_program_options-VC80-mt.lib這是不好的庫中的問題 。
你可以加什麼版本的助推器嗎? – 2010-06-15 15:33:31
我加了。它的版本是1.43.0 – 2010-06-15 15:43:28
你不需要在VS中手動鏈接。 Boost使用編譯指示來鏈接。 – 2010-06-15 16:06:46