开发者

GCC library linking issue

I am trying to compile Pro*C lib on Linux.I have following code in my make.

etc=$TABS_HOME/admin
export etc
if [ -f ${1}.pc ]
then
rm $1_x.o
compc $1
make -f $etc/proc64.mk $1_x.o
ar -cvq  libtabs.a $1_x.o
else
make -f $etc/proc64.mk $1.o
ar -cvq  libtabs.a $1.o
fi

Here is the final command that printed when compilation started:

/usr/bin/gcc -g  -m64  -g   开发者_如何学C-I/export/home/cl10gr2/oracle/rdbms/public -I/home/med/src/common -I/u01/app/oradb11r2/product/11.2.0/dbhome_3/rdbms/demo -

I/u01/app/oradb11r2/product/11.2.0/dbhome_3/rdbms/public -
I/u01/app/oradb11r2/product/11.2.0/dbhome_3/precomp/public -ltabs.a -lnapi.a  -c commonutil_x.c

I am getting following warning/Error:

gcc: -ltabs.a: linker input file unused because linking not done
gcc: -lnapi.a: linker input file unused because linking not done

Can any please help me out why it is not linking the lib files?


Its not linking them because you aren't linking. You are passing the -c option:

-c Compile or assemble the source files, but do not link. The linking stage simply is not done. The ultimate output is in the form of an object file for each source file.

If you are building intermediate object files, you don't need the libraries until the very end. Include all of the object files and libraries you need in the final stage and link them all together.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜