在编译一个程序时,由于没有在Makefile中引入库libconv.lib, 产生如下的错误,解决方法为:在makefile链接时,加入-liconv即可。
g++ -o /program/netopt/bin/Forecast -L/usr/lib -L/usr/local/lib -L/program/net
opt/lib -L/program/oracle/ora92/lib main.o ForecastForcastServiceSoapService.o
ForecastC.o Forecast.o ForecastPC.o /
-ldl -lpthread -lACE -lnsl -lrt -lclntsh -lOptNetComm -lKpiEngine -lsocket
未定义 文件中的
符号 在文件中
libiconv_close /program/netopt/lib/libOptNetComm.so
libiconv_open /program/netopt/lib/libOptNetComm.so
libiconv /program/netopt/lib/libOptNetComm.so
ld: 致命的: 符号参照错误. 没有输出被写入/program/netopt/bin/Forecast
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `/program/netopt/bin/Forecast'
解决Makefile链接错误
本文介绍了一种在使用Makefile进行程序编译时遇到的链接错误,并提供了具体的解决方案。通过在Makefile中正确引入libiconv.lib库,解决了未定义符号的问题。
5645

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



