欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

解决了在链接动态链接库时找不到符号的问题。

最编程 2024-09-29 15:56:36
...

在你描述的场景中,出现 undefined reference to 'process' 和 undefined reference to 'total_received' 的错误是因为这些符号在链接时未能找到。这通常是由于某些文件未被正确添加到构建过程中,或者这些符号的定义和声明不匹配导致的。
你提到 interface.o 和 file.o 被链接生成 libfile.so 动态库。由于错误提示 libfile.so 中没有找到 process 和 total_received 符号,可以通过以下步骤逐步解决问题:
1. 确保`interface.o`被正确包含到构建命令中:
   确保在创建 libfile.so 时包含了 interface.o 文件。查看构建 libfile.so 的命令,确保 interface.o 被正确包含。

gcc -shared -o libfile.so file.o interface.o

2. 检查是否正确声明了`process`和`total_received`:
   确保在适当的头文件中声明了 process 和 total_received。

   // 在某个公共头文件中进行声明,比如 file.h
   #ifndef FILE_TRANS_H
   #define FILE_TRANS_H

  

推荐阅读