2012-05-10 2 views
4

나는 Cmake를 사용하여 ASSIMP의 Xcode 프로젝트를 생성하려고한다. 이미 작업 공간 폴더에 폴더가 하나 있다는 것을 알고 있습니다. 그리고 나는 단지 자신을 생성하려고합니다. 은 "목표는 '제품 유형을 지정Cmake를 사용하여 IOS 용 정적 라이브러리의 xcode 프로젝트를 생성하는 방법은 무엇입니까?

#!/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하고 있어요 :

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) 

다음 내가이 명령을 실행 : 나는 cmakelist.txt를 작성 시도 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 (assimp (공동) 단지 STATIC

내가 사용하고있어 cmakelist 공유 된 변경 :

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) 
관련 문제