linux - ld链接失败

标签 linux gcc linker ld

亲爱的大家, 这是我链接库并生成 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/

相关文章:

c - 有什么方法可以更改链接以避免 HPUX 上的 LD_PRELOAD?

linux - 如何在 Linux 中编写一些代码来自动打开和移动 2 个窗口?

linux - 从 cshell (tcsh) 执行 bash shell

c - mulcross数据生成器运行错误: free():invalid next size

c - gcc 根据优化级别显示不同的警告

c++ - Lapack 链接错误,使用 -fPIC 重新编译

linux - 输入一串字符并输出为大写

linux - tomcat 在 Linux 上无法启动

c++ - 在 Linux 平台上从 Node.js 连接到 DB2

c++ - 对常量数组的 undefined reference