在 Fedora 27 中构建 GLFW 时链接期间出错

errors during link when building glfw in fedora 27

本文关键字:链接 出错 GLFW Fedora 构建      更新时间:2023-10-16

当我尝试制作项目时,我得到:

[pepe@localhost glfw-3.2.1]$ make
....
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/7/../../../libXinerama.so when searching for -lXinerama
/usr/bin/ld: skipping incompatible //lib/libXinerama.so when searching for -lXinerama
/usr/bin/ld: skipping incompatible //usr/lib/libXinerama.so when searching for -lXinerama
/usr/bin/ld: cannot find -lXinerama
collect2: error: ld returned 1 exit status 
make[2]: *** [examples/CMakeFiles/wave.dir/build.make:129: examples/wave] Error 1
make[1]: *** [CMakeFiles/Makefile2:185: examples/CMakeFiles/wave.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

我安装了 xinerama,但无法将其与 make 链接。

看到所有这些"跳过不兼容"的消息了吗?这是因为这些库的指令集错误。

在我看来,它好像在尝试针对 32 位库构建 64 位代码。反之亦然。

这是我在我的 Fedora 系统上获得的用于库搜索的内容。您需要为您的构建类型安装正确的"*-devel"软件包。您不能同时安装 i686 和 x86_64 devel 软件包。

$ sudo dnf list 'libXine*'
Installed Packages
libXinerama.i686                                            1.1.3-9.fc27                                    @fedora
libXinerama.x86_64                                          1.1.3-9.fc27                                    @fedora
Available Packages
libXinerama-devel.i686                                      1.1.3-9.fc27                                    fedora 
libXinerama-devel.x86_64                                    1.1.3-9.fc27                                    fedora
这将

适用于glfw-3.2.1:

dnf install mesa-libGL-devel.x86_64 libXi-devel.x86_64 libXcursor-devel.x86_64 doxygen libXrandr-devel.x86_64 libXmu-devel libXinerama-devel.x86_64

cd glfw-3.2.1/
mkdir build
cd build/
cmake ../
make