我刚刚使用2013年4月15日的命令行工具升级到 Xcode 5 beta,并在标准CMakeTestCCompiler.cmake中运行cmake构建时尝试编译简单的测试程序时遇到以下警告:
cmake -version
cmake version 2.8.11.2

ld: building for MacOSX,but linking against dylib built for iOS Simulator file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator7.0.sdk/usr/lib/libSystem.dylib' for architecture i386

lipo -info /Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator7.0.sdk/usr/lib/libSystem.dylib
Non-fat file: libSystem.dylib is architecture: i386

编译步骤是:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/usr/bin/gcc -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator7.0.sdk -o /Users/temp/testCCompiler.c.o -c /Users/temp/testCCompiler.c

lipo -info /Users/temp/testCCompiler.c.o 
Non-fat file: testCCompiler.c.o is architecture: i386

链接步骤是:

/usr/local/bin/cmake -E cmake_link_script /Users/temp/link.txt --verbose=1

其中link.txt包含:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/usr/bin/gcc -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator7.0.sdk -Wl,-headerpad_max_install_names /Users/temp/testCCompiler.c.o -o testCCompiler

看来,testCCompiler.c.o和libSystem.dylib都是i386,i386在link.txt中指定,而i386是模拟器的正确架构,所以我不知道为什么它认为它是为MacOSX构建的.也许命令行选项是错误的:(.

感谢任何帮助!

解决方法

问题是Xcode 5用clang替换gcc,并添加一个指定OSX作为目标的“-triple”选项.如果您在两个gcc命令行上传递“-miphoneos-version-min = 7.0”,它将会工作.如果您将“–verbose”传递给gcc,则可以看到clang命令行.还需要添加到Xcode 5的PATH,以便cmake可以找到必要的工具:export PATH = / Applications / Xcode5-DP6.app / Contents / Developer / Toolchains / XcodeDefault.xct oolchain /usr/bin:/ Applications /Xcode5-DP6.app/Contents/Developer/usr/bin:$PATH这些都不是官方的..但对我来说至今仍然有效.

构建MacOSX,但与为iOS模拟器文件构建的dylib连接的更多相关文章

  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中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部