2012-05-10 17 views
4

私はCmakeを使ってASSIMPのXcodeプロジェクトを生成しようとしています。私はすでにそれがワークスペースフォルダにあることを知っています。そして私は自分自身を生成しようとしています。私はcmakelist.txtを書き込もうとしました:Cmakeを使用してIOSの静的ライブラリのxcodeプロジェクトを生成するには?

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/bash 
cd "$(dirname "$0")"/assimp 
if [ ! -d xcode ] 
then 
    mkdir xcode 
fi 
cd xcode 
cmake -G Xcode ../.. -DINSTALL_LIBS=ON -DCMAKE_INSTALL_PREFIX=../.. -DBUILD_SHARED_LIBS=OFF -DBUILD_ASSIMP_TOOLS:BOOL=OFF -DENABLE_BOOST_WORKAROUND=ON 

# Device or simulator 
xcodebuild -target install -configuration Release 

それはXcodeプロジェクトを生成しますが、製品にlibassimp.dylibで、「ターゲットは、製品の種類」を指定してしまいましたcom.apple.product-type.library.dynamic 'がありますが、' iphoneos 'プラットフォームのエラーのような製品タイプはありません。

'com.apple.product-type.library.dynamic'を静的に変更するにはどうすればよいですか? -DBUILD_SHARED_LIBS = OFFに設定しましたが、動作しませんでした。

ウェブを検索したところ、問題の原因を見つけることができませんでした。

ありがとうございました!コード/ディレクトリ/でcmakelist.txtで

+0

ああ、私を許してください/ code /ディレクトリのcmakelist.txtには、次の行があります。 ADD_LIBRARY(assimp SHARED SHAREDをSTATICに変更するだけで、今すぐIOSプラットフォームで構築できます – user1349923

答えて

9

行がある:ADD_LIBRARY(ちょうどSTATIC

私が使用しているcmakelistにSHARED変更SHARED assimp:

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 simulator 
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator") 

include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR} 
) 

add_subdirectory(assimp) 
関連する問題