Xcode5已经完全抛弃了GCC并切换到LLVM,但并不是完全去除GCC,只是对GCC等编译相关执行文件的位置进行了调整,
如果之前使用的是使用Makefile方式命令行编译iOS APP的话,Xcode4.6下编写的脚本可能会无效,需要对GCC的执行文件路径进行调整。
调整内容如下
Xcode4.6之前:
/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/usr/bin
Xcode5.0:
/Applications/Xcode.app/Contents/Developer/usr/bin
调整后如果出现类似以下错误的话,
c preprocessor "/lib/cpp" fails sanity check
建议使用clang++ 并将-stdlib=g++切换为libc++
如果还是不行,那请切换到Xcode4.6下进行编译,Xcode4.6下包含LLVM GCC 4.2
以下是我用的编译脚本的部分代码
export SDK_VER = "7.0"export PLATFORM = "iPhoneOS"export DEV_HOME = "/Applications/Xcode.app/Contents/Developer"export PLAT_DEV_HOME = "${DEV_HOME}/Platforms/${PLATFORM}.platform/Developer"export BIN_DIR = "${DEV_HOME}/usr/bin"# 7.0 or later?if [ "$SDK_VER" == "7.0" ]; thenexport BIN_DIR = "${PLAT_DEV_HOME}/usr/bin"fiexport SDK_ROOT = "${PLAT_DEV_HOME}/SDKs/${PLATFORM}${SDK_VER}.sdk"export GCC_BIN = "${BIN_DIR}/gcc"export CFLAGS = ""export GCC_BASE = " ${GCC_BIN} -Os ${CFLAGS} -Wimplicit \ -isysroot ${SDK_ROOT} \ -F${SDK_ROOT}/System/Library/Frameworks \ -F${SDK_ROOT}/System/Library/PrivateFrameworks " #armv6,armv7,armv7s,arm64export GCC = "${GCC_BASE} -arch armv7s"
参考网址
http://www.dotblogs.com.tw/cmd4shell/archive/2013/10/11/123921.aspx
--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题:
[iOS]Xcode5下使用Makefile编译找不到GCC
- 独立博客:
李大仁博客
- 永久链接:
http://www.lidaren.com/archives/1258
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
转载请注明原文地址: https://ju.6miu.com/read-1307993.html