我有一些为在armv7架构上使用而构建的静态库。当我尝试在我在iPhone5.0模拟器上测试的iOS项目中使用它们时,在我的静态库中得到关于undefined symbols for architecture i386的错误提示。
所以我猜这意味着iphone模拟器想要为i386编译类库?那么模拟器的意义是什么--为什么它不也模拟armv7架构呢?
因此,测试静态库的唯一方法是连接一个物理iOS设备并运行它?
还是我搞错了?
发布于 2011-10-24 18:57:02
所以我猜这意味着
模拟器想要为i386编译类库?那么模拟器的意义是什么--为什么它不也模拟armv7架构呢?
你已经回答了你自己的问题。这是一个模拟器,不是模拟器。因此,它是一个运行在i386架构上的Mac程序。如果您还为i386编译了静态库,那么您将能够在模拟器上使用它们。
发布于 2011-10-24 18:57:32
我不太确定,但i386适用于模拟器,而armv7适用于您已连接到计算机的设备。
发布于 2013-08-20 09:08:24
您实际上可以使用i386架构通过Xcode命令行工具编译应用程序(也有一种方法可以通过修改构建设置在Xcode UI中运行它)。
xcodebuild -sdk iphonesimulator6.1 -arch i386 VALID_ARCHS="i386 armv7 armv7s" clean install在projectName.xcodeproj文件所在的目录中运行此命令。
下面是该脚本的详细信息:
-sdk iphonesimulator6.1 // Build the app on iPhone simulator 6.1
-arch i386 // Build your app using i386 architecture
VALID_ARCHS="i386 armv7 armv7s" // Specify these architectures are valid
clean install // Clean all the builds then re-build and installhttps://stackoverflow.com/questions/7874519
复制相似问题