亲爱的大家, 这是我链接库并生成 exe 的命令:
ld -o readgfile readg_x.o MedLib_x.o cdrsort.o mtcprc.o encoder.o mtcbuil.o dbtprc.o dbtbuil.o DFMLIB_x.o Dyn_SQL_x.o /home/med/src/api/libnapi.a /home/med/src/api/libtabs.a $ORACLE_HOME/lib/libclntsh.so
但是当我运行该命令时,它无法从 libtabs.a 中存档的文件中找到 readg_x.o 中使用的函数。以下是错误:
readg_x.o: In function `main':
/home/med/src/readg/readg_x.c:565: undefined reference to `options'
/home/med/src/readg/readg_x.c:570: undefined reference to `oraconnect'
/home/med/src/readg/readg_x.c:591: undefined reference to `oracommit'
最佳答案
该错误意味着库 libtabs.a
不包含您的想法。您可以使用 objdump
等工具列出库中定义的所有符号,以确保您期望的是真实的。
关于linux - ld链接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5595634/