
cmake_minimum_required(VERSION 2.8)project(assimp)set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")set(CMAKE_OSX_SYSROOT iphoneos5.1)set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_BIT))add_subdirectory(assimp)
然后我跑了这个命令:
#!/bin/bashcd "$(dirname "cmake_minimum_required(VERSION 2.8.6)project(assimp)# Set the Base SDK (only change the SDKVER value,if for instance,you are building for iOS 5.0):set(SDKVER "5.1")set(DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer")set(SDKROOT "${DEVROOT}/SDKs/iPhoneOS${SDKVER}.sdk")if(EXISTS ${SDKROOT}) set(CMAKE_OSX_SYSROOT "${SDKROOT}")else() message("Warning,iOS Base SDK path not found: " ${SDKROOT})endif()# Will resolve to "Standard (armv6 armv7)" on Xcode 4.0.2 and to "Standard (armv7)" on Xcode 4.2:set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)")# seamless toggle between device and simulatorset(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")include_directorIEs( ${CMAKE_CURRENT_SOURCE_DIR})add_subdirectory(assimp)")"/assimpif [ ! -d xcode ]then mkdir xcodeficd xcodecmake -G Xcode ../.. -DINSTALL_liBS=ON -DCMAKE_INSTALL_PREFIX=../.. -DBUILD_SHARED_liBS=OFF -DBUILD_ASSIMP_TOolS:BOol=OFF -DENABLE_BOOST_WORKAROUND=ON# Device or simulatorxcodebuild -target install -configuration Release 它生成了Xcode项目,但在产品中是libassimp.dylib,得到了“目标指定产品类型’com.apple.product-type.library.dynamic’,但是’iphoneos’平台没有这样的产品类型”错误.
如何将’com.apple.product-type.library.dynamic’更改为static?我设置了-DBUILD_SHARED_liBS = OFF但它没有用.
我在网上搜索,找不到导致问题的原因.
非常感谢您的帮助!
解决方法 在/ code /目录下的cmakeList.txt中有一行:ADD_liBRARY(assimp SHARED只是将SHARED更改为STATIC我正在使用的cmakeList:
总结以上是内存溢出为你收集整理的如何使用Cmake为IOS生成静态库的xcode项目?全部内容,希望文章能够帮你解决如何使用Cmake为IOS生成静态库的xcode项目?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)