c - "undefined reference"连lib都有函数符号

标签 c apr

当我链接 .o 文件时,出现了一些问题:

gcc -L/usr/local/apr/lib -lapr-1 -pthread -laprutil-1  devpkg.o bstrlib.o db.o shell.o commands.o   -o devpkg
devpkg.o: In function `main':
/root/workspace/devpkg/devpkg.c:21: undefined reference to `apr_pool_initialize'
/root/workspace/devpkg/devpkg.c:22: undefined reference to `apr_pool_create_ex'
/root/workspace/devpkg/devpkg.c:36: undefined reference to `apr_getopt_init'
/root/workspace/devpkg/devpkg.c:38: undefined reference to `apr_getopt'

我使用“objdump -T”来检查库,它返回:

objdump -T libapr-1.so|grep apr_pool_initialize
000000000001db00 g    DF .text  00000000000000fb  Base        apr_pool_initialize

为什么会这样?

最佳答案

这很可能只是一个简单的依赖性问题。您可能想尝试在 .o 文件之后列出您链接到的所有库,并根据它们之间的依赖关系以正确的顺序排列。

关于c - "undefined reference"连lib都有函数符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543132/

相关文章:

tomcat - Windows Jenkins Slave 和 ssh-agent

c++ - 套接字在处理后打开,打开它完成

基于 Tomcat APR 的 Apache Tomcat Native Library 错误

eclipse - "The APR based Apache Tomcat Native library was not found"是什么意思?

c - 递归算法的内存

java - Tomcat 警告 : The executor associated with thread pool [http-apr-8080] has not fully shutdown

c - 在 C 中使用影子支持

计算两种颜色的 "average"

c - 我不明白指针、地址和范围

C 函数单步执行它自己的程序集