2012-10-04 81 views
0

示例程序,我可以成功編譯simple_ls.cpp用這個命令:編譯提高AIX上

xlc++ -qstrict -brtl -I /usr/local/include -L /usr/local/lib simple_ls.cpp -lboost_filesystem -o simple_ls 

然而,當我使用完全相同的語法與path_info.cpp命令我得到這個錯誤:

xlc++ -qstrict -brtl -I /usr/local/include -L /usr/local/lib path_info.cpp -lboost_filesystem -o path_info 
ld: 0711-317 ERROR: Undefined symbol: .boost::system::generic_category() 
ld: 0711-317 ERROR: Undefined symbol: .boost::system::system_category() 
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. 

回答

1

您需要將第二個程序與boost_system鏈接。

xlc++ -qstrict -brtl -I /usr/local/include -L /usr/local/lib path_info.cpp -lboost_filesystem -o path_info -lboost_system 
+0

謝謝,我試過你的建議,這是結果: –

+0

@ user1720192,結果在哪裏? – Vikas

+0

謝謝,我試過你的建議有很多錯誤: xlC++ -qstrict -brtl -I/usr/local/include -L/usr/local/lib path_info.cpp -lboost_filesystem -o path_info -lboost_system ld:0711-224警告:重複的符號:.std :: basic_string ,std :: allocator > :: _ Tidy(bool) ld:0711-224警告:重複的符號:.std :: exception ::〜例外() ld:0711-224警告:重複的符號:.std :: bad_alloc ::〜bad_alloc() ld:0711-224警告:重複的符號:.std :: basic_string , std :: allocator > :: _複製(無符號長) –