我一直在为iOS编写不同的图书馆,直到iOS5没有问题.好的,显然我的问题是,iOS5 SDK不再包含GNU gcc编译器了.只有llvm和clang可用.

我的问题是,我无法完成任何库的“配置”脚本.它总是失败与:

configure: error: C preprocessor 
"/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" fails sanity check

gcc只是一个到llvm编译器的符号链接.如果我把它设置为clang,它会产生相同的错误. (只是一个更好的语法错误表示)

这里config.log的重要部分:

configure:3338: checking how to recognise dependent libraries
configure:3514: result: pass_all
configure:3993: checking how to run the C preprocessor
configure:4111: result: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
configure:4135: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -B/Developer/Platforms/iPhoneOS.platform/Developer/usr -arch armv7 -miphoneos-version-min=5.0 -gdwarf-2 -mthumb -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/system conftest.c
conftest.c:14: error: expected '=',',';','asm' or '__attribute__' before 'error'
configure:4141: $? = 1
configure: Failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "expat 2.0.1"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|            Syntax error
configure:4135: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -B/Developer/Platforms/iPhoneOS.platform/Developer/usr -arch armv7 -miphoneos-version-min=5.0 -gdwarf-2 -mthumb -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/system conftest.c
conftest.c:14: error: expected '=','asm' or '__attribute__' before 'error'
configure:4141: $? = 1
configure: Failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "expat 2.0.1"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|            Syntax error
configure:4210: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" fails sanity check
See `config.log' for more details.

这是我的环境.有点过分,但它可以正常工作iOS4.X.

# Defines
DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
SDKROOT=$DEVROOT/SDKs/iPhoneOS5.0.sdk

# BUILD STUFF
export CXXFLAGS="-B/Developer/Platforms/iPhoneOS.platform/Developer/usr -arch armv7 -miphoneos-version-min=5.0 -gdwarf-2 -mthumb -isysroot $SDKROOT -L$SDKROOT/usr/lib/system"
export CPPFLAGS="$CXXFLAGS"
export CFLAGS="$CXXFLAGS"
export CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
export CXXCPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++
#export CXX=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++
export CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
export LD=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld
export RANLIB=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib
export AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar
export STRIP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/strip
export LIBTOOL=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool
export INSTALL_DIR=/Users/mriedel/MPI/CrossCompiling/armv7_dev_install
export CPATH=$INSTALL_DIR/include
export LIBRARY_PATH=$INSTALL_DIR/lib

我一直在努力想出这个数周,但没有运气.我觉得其他人一定会遇到这个问题.但谷歌没有提出什么.有一段时间,我试图使用gaspreprocessor.pl,但也没有任何运气.

啊,我的配置调用总是类似于:

./configure --prefix=$INSTALL_DIR --disable-shared --enable-static --host=arm-apple-darwin

我想指出,这个确切的问题发生在我使用配置写字板的所有库.举几个例子:apr,apr-util,expat,log4cxx等…我甚至不知道所需的输出应该是什么.代码中间只有一个奇怪的“语法错误”.难怪它不编译:).

帮助和提示如何进行将不胜感激.
谢谢.

解决方法

我遇到同样的问题.经过一些戳,我的问题原来是我明确地设置CPP.不要设置(实际上,如果设置了’unset’).如果没有设置,配置会默认尝试$CC -E.如果设置,configure不会自动添加-E.此外,将CPPFLAGS设置为-E不起作用,因为这些标志也被传递到其他步骤.

编译 – 几个lib的iOS编译(armv7,i386).配置脚本:C预处理器失败健全检查的更多相关文章

  1. ios – 体系结构i386的未定义符号:“_ GLKMatrix3Identity”,引自:

    我尝试导入谷歌地图SDK,我添加了谷歌地图网站上解释的所有库.请帮我!本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  2. xcode – 苹果LLVM编译3.1错误

    只需更新Xcode到4.3,现在我无法建立我的应用程序.我收到这个错误:有人有这个问题吗?

  3. 构建MacOSX,但与为iOS模拟器文件构建的dylib连接

    我刚刚使用2013年4月15日的命令行工具升级到Xcode5beta,并在标准CMakeTestCCompiler.cmake中运行cmake构建时尝试编译简单的测试程序时遇到以下警告:编译步骤是:链接步骤是:其中link.txt包含:看来,testCCompiler.c.o和libSystem.dylib都是i386,i386在link.txt中指定,而i386是模拟器的正确架构,所以我不知道为

  4. 编译 – 几个lib的iOS编译(armv7,i386).配置脚本:C预处理器失败健全检查

    我甚至不知道所需的输出应该是什么.代码中间只有一个奇怪的“语法错误”.难怪它不编译:).帮助和提示如何进行将不胜感激.谢谢.解决方法我遇到同样的问题.经过一些戳,我的问题原来是我明确地设置CPP.不要设置.如果没有设置,配置会默认尝试$CC-E.如果设置,configure不会自动添加-E.此外,将CPPFLAGS设置为-E不起作用,因为这些标志也被传递到其他步骤.

  5. iOS可用架构问题

    我对iOS构建设置中可用的体系结构有点困惑.我发现有4种类型:>i386>armv6>armv7>armv7s.我知道i386用于模拟器,armv6用于iOS设备.但我对armv7和armv7s感到困惑.1)armv7和armv7s有什么区别?2)基于armv7和armv7s架构的应用程序是否支持较旧的iOS版本?

  6. ios – MonoTouch Build:ld:未找到架构armv7的符号

    解决方法发现问题:本地库依赖于AddressBook框架,我忘了将它包含在API定义项目的AssemblyInfo.cs中:

  7. 子类化NSObject并使用泛型时Swift编译错误

    以下Swift代码在构建时生成编译错误:我做错了什么或是编译器错误?如果是这样,我该怎么办呢?

  8. android – 在无头服务器错误上使用gradle创建调试apk文件

    pkg=tools您应该为Ubuntu13.10及更高版本安装libncurses5:i386,libstdc6:i386和zlib1g:i386.或者为早期版本的Ubuntu安装ia32-libs

  9. Android,设置Linux构建环境,libgl1-mesa-glx:i386包有未满足的依赖项

    解决方法我解决了这个问题.执行以下操作,安装除libgl1-mesa-glx:i386之外的所有软件包:安装libglapi-mesa-lts-saucy:i386而不是libgl1-mesa-glx:i386:现在您拥有正确的AOSP构建环境,并且不会丢失桌面环境.

  10. centos – 为什么用yum安装相同的包两次不给我相同的文件?

    我面临的情况:我设置了一台CentOS5.9机器,应尽可能接近另一台CentOS5.9机器的副本,但不是克隆机器.使用yum,我(尽可能)安装了目标机器上也安装在源计算机上的所有软件包(如安装的yumlist和rpm-qa所报告的).之后我使用md5deep来查找目标机器上仍然缺失的文件.我发现丢失的文件比我预期的要多得多,从而发现了我当前的问题.在目标和&源程序包traceroute-3:安装了

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部