我是OSG和CMake的新手,我正在尝试按照README文件中的指定构建iOS的OpenSceneGraph . 以下是平台和工具规范 . MAC OSX 10.10.4 XCode 6.4 iOS 8.4 iOS模拟器8.4 OpenSceneGraph 3.4.0-rc9 CMake 3.3.0
重现错误的步骤:1:在OPG的OSG文件夹中修改并保存CMakeLists.txt(OSG_BUILD_PLATFORM_IPHONE“启用IPhoneSDK设备支持”ON)OPTION(OSG_BUILD_PLATFORM_IPHONE_SIMULATOR“启用IPhoneSDK模拟器支持”OFF)
2:在CMake GUI更新中“源代码在哪里:”和“在哪里构建二进制文件:”到OSG文件夹 . 设置以下选项 .
-
OSG_BUILD_PLATFORM_IPHONE:BOOL = ON \
-
CMAKE_CXX_FLAGS:STRING = "-ftree-vectorize -fvisibility-inlines-hidden -mno-thumb -arch armv6 -pipe -no-cpp-precomp -miphoneos-version-min=3.1 -mno-thumb" \
-
BUILD_OSG_APPLICATIONS:BOOL = OFF \
-
OSG_BUILD_FRAMEWORKS:BOOL = OFF \
-
OSG_WINDOWING_SYSTEM:STRING = IOS \
-
CMAKE_OSX_ARCHITECTURES:STRING = "armv6;armv7" \
-
CMAKE_OSX_SYSROOT:STRING = / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS8.4.sdk \
-
OSG_GL1_AVAILABLE:BOOL = OFF \
-
OSG_GL2_AVAILABLE:BOOL = OFF \
-
OSG_GLES1_AVAILABLE:BOOL = ON \
-
OSG_GL_DISPLAYLISTS_AVAILABLE:BOOL = OFF \
-
OSG_GL_FIXED_FUNCTION_AVAILABLE:BOOL = ON \
-
OSG_GL_LIBRARY_STATIC:BOOL = OFF \
-
OSG_GL_MATRICES_AVAILABLE:BOOL = ON \
-
OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE:BOOL = ON \
-
OSG_GL_VERTEX_FUNCS_AVAILABLE:BOOL = OFF \
-
DYNAMIC_OPENSCENEGRAPH:BOOL = OFF \
-
DYNAMIC_OPENTHREADS:BOOL = OFF .
尝试使用这些配置进行配置,但收到以下错误 .
C编译器标识是AppleClang 6.1.0.6020053
CXX编译器标识是AppleClang 6.1.0.6020053
使用以下命令检查工作C编译器:Xcode
使用以下命令检查工作C编译器:Xcode - 已损坏
/Applications/CMake.app/Contents/share/cmake-3.3/Modules/CMakeTestCCompiler.cmake:61的CMake错误
(信息):
C编译器
“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang”
无法编译简单的测试程序 .
它失败并带有以下输出:
改变目录:/Users/adithiathreya/Downloads/OpenSceneGraph-3.4.0-rc9/CMakeFiles/CMakeTmp
运行Build命令:“/ usr / bin / xcodebuild”“ - project”
“CMAKE_TRY_COMPILE.xcodeproj”“build”“ - target”“cmTC_665b5”
“-configuration”“Debug”
===使用配置构建项目CMAKE_TRY_COMPILE的目标cmTC_665b5
调试===
检查依赖项
target指定产品类型'com.apple.product-type.tool',但没有
这种“iphoneos”平台的产品类型
建筑失败
以下构建命令失败:
检查依赖项
(1次失败)
CMake无法正确生成此项目 .
呼叫堆栈(最近一次呼叫):
CMakeLists.txt:52(项目)
配置不完整,发生错误!
我尝试了这些配置,iPhone Simulator也需要更改,但是出现了类似的错误 . 你能告诉我我哪里错了吗?
1 回答
您应该在cmake中指定IOS SDK版本和iPhone版本min .
$ THIRDPARTY_PATH是您下载的第三方目录 .