可能重复:
GCC C ++链接器错误:未定义的引用'XXX的虚拟表',未定义的引用'ClassName :: ClassName()'
好吧,我试图编译一个由2个对象文件和一个静态库组成的共享对象库。 我链接到库,但只有Lua实际上在MY对象中使用,其他人在.a文件中使用。
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 – 有没有办法让一个简单的静态库包含资源?
什么是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] 举报,一经查实,本站将立刻删除。