求助:各位路过的大侠帮忙看看调用编译好的静态链接库libSDL2_ttf-2.0.12的问题,先谢过了!
LINUX环境:虚拟机安装unbuntu10.04 交叉编译环境:ARM-LINUX-GCC-4.5.1
最近,在unbuntu上交叉编译开源代码libSDL2-2.0.3、libSDL2_tty-2.0.12、libfreetype-2.4.4,出现下图问题:

具体操作步骤:
一、交叉编译源代码为静态链接库
1、交叉编译libfreetype-2.4.4
1)./configure --host=arm-linux --prefix=/usr/local/cross_compile/libfreetype-2.4.4
2)make
3)make install
2、交叉编译libSDL2-2.0.3
1)./configure --prefix=/usr/local/cross_compile/libsdl2-2.0.3 --host=arm-linux --with-gnu-ld --disable-video-x11
2)make
3)make install
3、交叉编译libSDL2_tty-2.0.12
交叉编译这个静态链接库时,依赖libfreetype.a、libSDL2.a,具体见下面configure
1)./configure --prefix=/usr/local/cross_compile/libsdl2_ttf-2.0.12 --host=arm-linux --with-sdl-prefix=/usr/local/cross_compile/libsdl2-2.0.3 --with-freetype-prefix=/usr/local/cross_compile/libfreetype-2.4.4 CFLAGS="-
I/usr/local/cross_compile/libsdl2-2.0.3/include -I/usr/local/cross_compile/libfreetype-2.4.4/include" LIBS="-L/usr/local/cross_compile/libsdl2-2.0.3/lib -lSDL2 -L/usr/local/cross_compile/libfreetype-2.4.4/lib -lfreetype" LDFLAGS=-
L/usr/local/cross_compile/libfreetype-2.4.4/lib
2)make
3)make install
二、在ubuntu下的QT中交叉编译测试代码(该测试代码中调用libfreetype.a、libSDL2.a、libSDL2_tty.a),QT工程截图:

就会出现:

显然是libSDL2_tty.a中的函数调用libfreetype.a里面的函数时,找不到libfreetype.a里面的函数的实现,搞了两天已经没有头绪啦!
但是,我将三个开源代码进行非交叉编译(configure 中不加--host=arm-linux)生成的静态库名称不变,然后在QT下非交叉编译测试代码(该测试代码中调用libfreetype.a、libSDL2.a、libSDL2_tty.a),就可以编译成功,生成的测试程序在QT下 也可以正常运行。[/b]
最近,在unbuntu上交叉编译开源代码libSDL2-2.0.3、libSDL2_tty-2.0.12、libfreetype-2.4.4,出现下图问题:

具体操作步骤:
一、交叉编译源代码为静态链接库
1、交叉编译libfreetype-2.4.4
1)./configure --host=arm-linux --prefix=/usr/local/cross_compile/libfreetype-2.4.4
2)make
3)make install
2、交叉编译libSDL2-2.0.3
1)./configure --prefix=/usr/local/cross_compile/libsdl2-2.0.3 --host=arm-linux --with-gnu-ld --disable-video-x11
2)make
3)make install
3、交叉编译libSDL2_tty-2.0.12
交叉编译这个静态链接库时,依赖libfreetype.a、libSDL2.a,具体见下面configure
1)./configure --prefix=/usr/local/cross_compile/libsdl2_ttf-2.0.12 --host=arm-linux --with-sdl-prefix=/usr/local/cross_compile/libsdl2-2.0.3 --with-freetype-prefix=/usr/local/cross_compile/libfreetype-2.4.4 CFLAGS="-
I/usr/local/cross_compile/libsdl2-2.0.3/include -I/usr/local/cross_compile/libfreetype-2.4.4/include" LIBS="-L/usr/local/cross_compile/libsdl2-2.0.3/lib -lSDL2 -L/usr/local/cross_compile/libfreetype-2.4.4/lib -lfreetype" LDFLAGS=-
L/usr/local/cross_compile/libfreetype-2.4.4/lib
2)make
3)make install
二、在ubuntu下的QT中交叉编译测试代码(该测试代码中调用libfreetype.a、libSDL2.a、libSDL2_tty.a),QT工程截图:

就会出现:

显然是libSDL2_tty.a中的函数调用libfreetype.a里面的函数时,找不到libfreetype.a里面的函数的实现,搞了两天已经没有头绪啦!
但是,我将三个开源代码进行非交叉编译(configure 中不加--host=arm-linux)生成的静态库名称不变,然后在QT下非交叉编译测试代码(该测试代码中调用libfreetype.a、libSDL2.a、libSDL2_tty.a),就可以编译成功,生成的测试程序在QT下 也可以正常运行。[/b]
...全文
相关推荐
libsdl2.so libsdl2_ttf.so
linux系统下交叉编译出来的libsdl2.so 和 libsdl2_ttf.so动态库,包括armeabi、armeabi-v7a两个版本。
SDL_ttf-2.0.11资源包
SDL_ttf-2.0.11,SDL对ttf字体支持的扩展库,可以用于显示ttf字体的文字,有需要的下载。
SDL_ttf-devel-2.0.11-VC.zip
SDL1_ttf的下载资源,里面为VS的TTF资源,有X86和x64的库文件
Salesman:遗传(类似)方法解决旅行商问题
推销员 遗传(类似)方法解决旅行商问题 安装 目前仅支持Linux(Ubuntu)。 安装图形库SDL2和一些FreeType字体: sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libfreetype6-dev 汇编 编译是通过运行make来完成的。 运行 ./salesman.exe 已知的问题 SDL2 v2.0.10会导致绘制错误:渲染某些内容会更改最后绘制的对象的特定像素的颜色。 但是,此错误在2.0.8和2.0.14版本中不存在。 如果出现这种情况,请卸载libsdl2-dev软件包,然后安装软件包 最后,之后可能需要更新libsdl2-image-dev和libsdl2-ttf-dev。 组件说明 animation.c图形界面框架。 benchmarks.c用于对遗传参数进行基准bench
SDL2-devel-2.0.10-VC.zip(SDL官方库)
SDL2.0版的官方库文件


