c++ - 运行时未定义的符号错误(gcc-linux)
问题描述
我已经用 g++ 7.5 编译了一个库 A,它在实现文件 (.cpp) 中引用了另一个库 B 的类。但是引用的库 B 没有作为对库 A 的依赖项添加。
应用程序 -> libA.so -> libB.so
当我使用 msvc 和 Windows 运行这个库 A 时,我在应用程序运行时没有收到错误。使用 gcc & linux 运行时,应用程序运行时出现未定义符号错误。
这是为什么?为什么应用程序在windows下运行良好,而在linux下却不行?它在两个操作系统下都能很好地编译和链接。
解决方案
推荐阅读
- jasmine - 量角器 - 无法使用 ElemArrayFinder 循环每个项目
- java - 如何使用 --add-opens 参数来摆脱非法反射访问警告?
- python - 从作业处理器启动线程时,如何跟踪作业工作线程的进度?
- r - Loop character values in ggtitle
- javascript - 如何将身份验证标头传递给其他组件
- android - 错误:程序类型已存在:com.google.android.gms.common.internal.zzb
- docker - 具有相同容器端口的多个 docker 容器连接到同一网络
- python-3.x - Python IP logger 以 csv 格式接收和输出数据
- python - Python:我想创建一个变量来存储递减我的“限制”变量,但它没有递减
- javascript - 正则表达式 url 参数