微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GCC没有链接库 它编译,但由此产生的库缺less必要的参考资料

可能重复:

GCC C ++链接错误:未定义的引用'XXX的虚拟表',未定义的引用'ClassName :: ClassName()'

好吧,我试图编译一个由2个对象文件一个静态库组成的共享对象库。 我链接到库,但只有Lua实际上在MY对象中使用,其他人在.a文件中使用。

以下是IDE生成链接步骤:

g++ -shared obj/Debug/GL/Window/Window.o obj/Debug/main.o -o bin/Debug/libLOOGL.so -lX11 -lXrandr -lGL -llua5.2 /home/matt/Desktop/Development/LOOGL/lib/bin/OOGL.a

这里是结果的ldd的输出

导入库如何工作,为什么MinGW不需要它们?

在另一台计算机上启动使用MinGW编译的Windows应用程序时出现库链接错误

Linux – 有没有办法让一个简单的静态库包含资源?

静态库(.a)和共享库(.so)之间的文件格式差异?

什么是Windows相当于GNU ID标志 – 整个档案?

ldd loogl.so linux-vdso.so.1 => (0x00007fff30b3e000) liblua5.2.so.0 => /usr/lib/x86_64-linux-gnu/liblua5.2.so.0 (0x00007f521b53e000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f521b23e000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f521b027000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f521ac68000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f521a96e000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f521a769000) /lib64/ld-linux-x86-64.so.2 (0x00007f521b991000)

必要的库没有链接,结果将不会运行,它缺less引用。

从不同的共享库中的相同符号总是从符号名称间的根开始查找?

在x86_64 Linux中重新部署一个2GB以上的程序的链接错误

Qt – 链接使用WinBase的外部静态库

将任意数据附加到ELF文件是否违反ELF规范?

C:dynamic链接到OpenSSL库时出错

链接线上的库的顺序很重要:

尝试:

g++ -shared obj/Debug/GL/Window/Window.o obj/Debug/main.o -o bin/Debug/libLOOGL.so /home/matt/Desktop/Development/LOOGL/lib/bin/OOGL.a -lX11 -lXrandr -lGL -llua5.2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐