0

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

[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链接。

4

2 回答 2

0

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

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

这是我在我的 Fedora 系统上进行库搜索的结果。您需要为您的构建类型安装正确的“*-devel”包。您不能同时安装 i686 和 x86_64 开发包。

$ 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
于 2018-01-19T21:33:27.340 回答
0

这适用于 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
于 2018-01-19T21:49:09.867 回答