banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[iOS]Xcode5でMakefileを使用してGCCが見つからないエラーが発生します。

Xcode5 では GCC は完全に廃止され、LLVM に切り替えられましたが、GCC などのコンパイル関連の実行ファイルは完全に削除されたわけではありません。ただ、GCC などの実行ファイルの場所が調整されました。もし以前に Makefile を使用して iOS アプリをコマンドラインでコンパイルしていた場合、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 以降ですか?#

if [ "$SDK_VER" == "7.0" ]; then
export BIN_DIR = "${PLAT_DEV_HOME}/usr/bin"
fi
export 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,arm64
export GCC = "${GCC_BASE} -arch armv7s"

参考 URL http://www.dotblogs.com.tw/cmd4shell/archive/2013/10/11/123921.aspx

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。