Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GCC没有链接库。它可以编译,但生成的库缺少必要的引用_C++_Linux_Gcc_Linker_Dynamic Linking - Fatal编程技术网

C++ GCC没有链接库。它可以编译,但生成的库缺少必要的引用

C++ GCC没有链接库。它可以编译,但生成的库缺少必要的引用,c++,linux,gcc,linker,dynamic-linking,C++,Linux,Gcc,Linker,Dynamic Linking,可能重复: 好的,我正在编译一个共享对象库,它由两个对象文件和一个静态库组成。我正在链接到库,但实际上只有Lua在我的对象中使用,其他的在.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/

可能重复:

好的,我正在编译一个共享对象库,它由两个对象文件和一个静态库组成。我正在链接到库,但实际上只有Lua在我的对象中使用,其他的在.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对结果的输出:

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)

必要的库未链接,结果将不会运行,它缺少引用。

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

尝试:


好了,该死的,我们走了。Blocks不想这样做,所以我想我只需要写一个make文件。
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