如何解决:/ usr / bin / ld:找不到-lGL

时间:2017-08-07 21:46:44

标签: makefile ld android-source linker-errors

我使用AOSP来构建Android 我使用这些命令在我的Ubuntu 17.04上构建Android:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
repo sync -j8
. build/envsetup.sh
lunch
make -j8

30分钟后出现此错误,有人知道如何修复它吗?

host Executable: tblgen (out/host/linux-x86/obj/EXECUTABLES/tblgen_intermediates/tblgen)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
/usr/bin/ld: cannot find -lGL
/usr/bin/ld: cannot find -lGL
make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] Error 1
make: *** Waiting for unfinished jobs....
collect2: ld returned 1 exit status
collect2: ld returned 1 exit status

3 个答案:

答案 0 :(得分:1)

使用这些解决方案可以解决问题:

表示-lGL错误:

sudo apt-get install libgl1-mesa-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

表示-lX11错误:

将此行LOCAL_LDLIBS += -lX11添加到文件中 development/tools/emulator/opengl/host/renderer/Android.mk

更多信息:

答案 1 :(得分:1)

您似乎还没有完全遵循“建立构建环境”说明。

我看到你正在尝试在Ubuntu 17上构建Android Ice Cream Sandwich(4.0.1) - 请注意,这不是受支持的构建/主机环境,可能无法正常运行。

看起来您的libx11-dev和libgl1-mesa-dev库的安装配置错误或缺失(或者他们的Ubuntu 17等价物被命名)。

我建议安装Ubuntu 14并尝试使用Android L或N.

答案 2 :(得分:0)

您缺少libGL.so个文件。这是OpenGL库。确保安装了相应的OpenGL库,它是搜索路径的一部分(请参阅-L指令)。