This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5708:OpenGL 应用的交叉编译

Guru**** 2555630 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610776/linux-am5708-cross-compilation-of-opengl-application

器件型号:AM5708

工具/软件:Linux

您好!

我有1个应用程序使用 OpenGL 将 YUV 图像转换为 RGB 图像。 我已将适用于我的应用连接到主机 Linux 机器上、现在我想为 AM57xx EVM 交叉编译它。

我使用以下命令在主机上编译了应用程序:

gcc yuvtorgb.c -lgl -lSDL -o main

对于 AM57xx EVM,我已经交叉编译了 SDL 库,但当我尝试使用以下命令在 EVM 上编译应用程序时:

gcc org.c -lGLESv2 -l GLES_CM -lSDL -o main

出现以下错误:

`对"整形"的引用未定义
org.c:(.text+0x130):对`glColor3f'的引用未定义
org.c:(.text+0x140):对`glCreateProgramObjectARB'的引用未定义
org.c:(.text+0x150):未`对 glCreateShaderObjectARB'的引用
org.c:(.text+0x16c):未`对"glShaderSourceARB"的引用
org.c:(.text+0x174):未`对"glCompileShaderARB"的引用
org.c:(.text+0x188):未`对"glGetObjectParameterivARB"的引用
org.c:(.text+0x1ac):未`对"glGetInfoLogARB"的引用
org.c:(.text+0x1d0):未`对"glAttachObjectARB"的引用
org.c:(.text+0x1d8):未`对"glLinkProgramARB"的引用
org.c:(.text+0x1fc):未`对"glGetInfoLogARB"的引用
org.c:(.text+0x21c):未`对"glUseProgramObjectARB"的引用
org.c:(.text+0x2e0):对`glGetUniformLocationARB'的引用未定义
org.c:(.text+0x2f8):未`对 glUniform1iARB'的引用
org.c:(.text+0x388):未`对"glGetUniformLocationARB"的引用
org.c:(.text+0x3ac):未`对 Uniform1iARB'的引用,依此类推。

您能告诉我如何为我的应用链接此函数吗?

e2e.ti.com/.../yuvtorgb.c 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Pragnesh:

    您尚未链接 OpenGL 库,其中定义了 glOrtho()。 您可能在编译期间未链接到胶合库。 要使其正常工作、请尝试在编译器命令的末尾添加-lgl。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试直接在 AM57xx EVM 上编译应用程序。 我认为 AM57xx SDK 不支持 OpenGL 库、它只支持 OpenGL ES 1.0和2.0、因此-LGL 和-lGLUT 对我不起作用。

    /usr/lib/gcc/arm-linux-gnueabi/5.3.1/../../../../arm-linux-gnueabi/bin/ld:找不到-lgl