我正在尝试使用OSX中的Xcode命令行工具为arm7编译freetype2
库。我正在使用项目的configure
脚本的以下参数化:
Compiling FreeType for iPhone?
运行脚本时产生了这些错误:
configure:3426:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -E conftest.c 在conftest.c中包含的文件中:10: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin10/4.2.1/include/limits。 h:15:25:错误:limits.h:没有这样的文件或目录
configure:3426:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -E-traditional-cpp conftest.c conftest.c:12:错误:assert.h:没有这样的文件或目录
configure:3426:/ lib / cpp conftest.c /Volumes/DATA/filestore/development/libs/c/freetype2/extract/2.5.3/builds/unix/configure:line 1600:/ lib / cpp:没有这样的文件或目录
configure:3465:result:/ lib / cpp configure:3485:/ lib / cpp conftest.c /Volumes/DATA/filestore/development/libs/c/freetype2/extract/2.5.3/builds/unix/configure:line 1600:/ lib / cpp:没有这样的文件或目录
我可以看到丢失的文件确实存在于错误消息的输出目录中。
CFLAGS
和LDFLAGS
包含以下参数,该参数应允许包含系统头文件:
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /
我注意到这些错误消息的另一个奇怪的事情是目录结构中的体系结构标识符是i686-apple-darwin10
。正在使用-arch armv7
编译器标志,为什么要检查i686-apple-darwin10
个目录?
*更新*
我还尝试按照另一个例子参数化configure
脚本:
https://stackoverflow.com/a/12594507/1704014
以下错误终止了执行:
检查本机可执行文件的后缀... ld:找不到-lcrt1.10.6.o的库 collect2:ld返回1退出状态 configure:错误:本机C编译器无法正常工作
这也表明正在构建不同的目标体系结构(OSX 10.6),而不是arm7。
任何帮助都非常感激。
答案 0 :(得分:0)
我的OSX构建环境中的问题是Xcode命令行工具的安装。我重新安装了最新的工具发行版,并且从那时起就能够成功编译。
为arm7和arm7s架构构建freetype2库,我发现以下建议的命令很有用: