2012-10-04 60 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 > :: _复制(无符号长) –