首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ios中使用assimp的初学者

在ios中使用assimp的初学者
EN

Stack Overflow用户
提问于 2012-11-01 02:30:33
回答 3查看 2.7K关注 0票数 1

我想在我即将到来的ios项目中使用Assimp,但很难让它工作。我听从了下面的说明:

如何用boost库为iOS (设备和模拟器)建立ASSIMP库?

但终点站一直跟我说:

代码语言:javascript
复制
rm: CMakeCache.txt: No such file or directory
/Users/hengchinsoon/Desktop/assimp/port/iOS/build_ios.sh: line 40: cmake: command not found
Building armv6 library
make: *** No rule to make target `clean'.  Stop.
make: *** No rule to make target `assimp'.  Stop.
cp: ./lib/libassimp.a: No such file or directory
rm: CMakeCache.txt: No such file or directory
/Users/hengchinsoon/Desktop/assimp/port/iOS/build_ios.sh: line 51: cmake: command not found
Building armv7 library
make: *** No rule to make target `clean'.  Stop.
make: *** No rule to make target `assimp'.  Stop.
cp: ./lib/libassimp.a: No such file or directory
rm: CMakeCache.txt: No such file or directory
/Users/hengchinsoon/Desktop/assimp/port/iOS/build_ios.sh: line 62: cmake: command not found
Building i386 library
make: *** No rule to make target `clean'.  Stop.
make: *** No rule to make target `assimp'.  Stop.
cp: ./lib/libassimp.a: No such file or directory
rm: ./lib/libassimp.a: No such file or directory

因此,我检查了assimp根文件夹,发现没有lib文件夹(这来自github描述,即用于windows使用)。所以我只制作了lib文件夹,然后再试一次。但还是不起作用。

  1. 有人能和我分享我做错了哪一部分吗?谢谢!
  2. 如果我成功地安装了我需要安装的任何东西,那么如何真正使用这个库呢?我是否应该将lib/ ios /文件夹复制到ios项目中?

我想要做的是导入一些.blend文件,然后我可以实验的着色器和其他酷的东西。

我是一个不错的ios开发人员,对OpenGL ES有基本的理解。不知何故,Assimp文件把我搞糊涂了。我不太确定我是在核心概念层面还是在编程层面上不理解Assimp。但我仍然相信,它是非常灵活和强大的。

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2012-12-10 09:32:43

我猜您使用的是"buil_ios.sh“脚本,在该脚本中有一些错误。

您应该首先从:Cmake下载下载Cmake

安装Cmake,然后执行以下操作。

首先,我认为除了输出之外,还会收到一些消息,告诉您在Cmake中放置的一些选项没有被使用。这是因为在脚本中,有些vars的名称写得不太好。

此外,您还应该更改CMakeLists.txt文件,以便在构建库时不会出现错误:

在这里定义所需的参数

set (ASSIMP_SV_REVISION 1023) <--应该小于1024。

set (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}) <--您将在这里找到如下参数。(Parameter0)(Parameter1).Mac不喜欢使用这个术语来命名:参数0参数1。参数2.a,我想是因为'.‘。

因此,在漫长的一天之后,我终于成功地建造了这个图书馆。另一个选项是从项目openframeworks编译库,其路径如下:"/addons/ofxAssimpModelLoader/libs/assimp/lib/ios/assimp.a“

这里有一个指向图书馆的链接。

在这里,您可以找到已经为arm6、arm7和i386体系结构编译的库。

我要把剧本修改在这里。

代码语言:javascript
复制
#!/bin/sh
# build.sh

#######################
# BUILD ASSIMP for iOS and iOS Simulator
#######################

BUILD_DIR="./lib/ios"

IOS_BASE_SDK="5.0"
IOS_DEPLOY_TGT="3.2"

setenv_all()
{
    # Add internal libs
    export CFLAGS="$CFLAGS"
    export CPP="$DEVROOT/usr/bin/llvm-cpp-4.2"
    export CXX="$DEVROOT/usr/bin/llvm-g++-4.2"
    export CXXCPP="$DEVROOT/usr/bin/llvm-cpp-4.2"
    export CC="$DEVROOT/usr/bin/llvm-gcc-4.2"
    export LD=$DEVROOT/usr/bin/ld
    export AR=$DEVROOT/usr/bin/ar
    export AS=$DEVROOT/usr/bin/as
    export NM=$DEVROOT/usr/bin/nm
    export RANLIB=$DEVROOT/usr/bin/ranlib
    export LDFLAGS="-L$SDKROOT/usr/lib/"

    export CPPFLAGS=$CFLAGS
    export CXXFLAGS=$CFLAGS
}

setenv_arm6()
{
    unset DEVROOT SDKROOT CFLAGS CC LD CPP CXX AR AS NM CXXCPP RANLIB LDFLAGS CPPFLAGS CXXFLAGS
    export DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
    export SDKROOT=$DEVROOT/SDKs/iPhoneOS$IOS_BASE_SDK.sdk
    export CFLAGS="-arch armv6 -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT -I$SDKROOT/usr/include/"
    setenv_all
    rm CMakeCache.txt
    cmake  -G 'Unix Makefiles' -DCMAKE_TOOLCHAIN_FILE=./port/iOS/IPHONEOS_ARM6_TOOLCHAIN.cmake -DENABLE_BOOST_WORKAROUND=ON -DBUILD_STATIC_LIB=ON -DASSIMP_BUILD_STATIC_LIB=ON
}

setenv_arm7()
{
    unset DEVROOT SDKROOT CFLAGS CC LD CPP CXX AR AS NM CXXCPP RANLIB LDFLAGS CPPFLAGS CXXFLAGS
    export DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
    export SDKROOT=$DEVROOT/SDKs/iPhoneOS$IOS_BASE_SDK.sdk
    export CFLAGS="-arch armv7 -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT -I$SDKROOT/usr/include/"
    setenv_all
    rm CMakeCache.txt
    cmake  -G 'Unix Makefiles' -DCMAKE_TOOLCHAIN_FILE=./port/iOS/IPHONEOS_ARM7_TOOLCHAIN.cmake -DENABLE_BOOST_WORKAROUND=ON -DBUILD_STATIC_LIB=ON -DASSIMP_BUILD_STATIC_LIB=ON
}

setenv_i386()
{
    unset DEVROOT SDKROOT CFLAGS CC LD CPP CXX AR AS NM CXXCPP RANLIB LDFLAGS CPPFLAGS CXXFLAGS
    export DEVROOT=/Developer/Platforms/iPhoneSimulator.platform/Developer
    export SDKROOT=$DEVROOT/SDKs/iPhoneSimulator$IOS_BASE_SDK.sdk
    export CFLAGS="-arch i386 -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT"
    setenv_all
    rm CMakeCache.txt
    cmake  -G 'Unix Makefiles' -DCMAKE_TOOLCHAIN_FILE=./port/iOS/IPHONEOS_i386_TOOLCHAIN.cmake -DENABLE_BOOST_WORKAROUND=ON -DBUILD_STATIC_LIB=ON -DASSIMP_BUILD_STATIC_LIB=ON
}

create_outdir()
{
    for lib_i386 in `find $BUILD_DIR/i386 -name "lib*\.a"`; do
        lib_arm6=`echo $lib_i386 | sed "s/i386/arm6/g"`
        lib_arm7=`echo $lib_i386 | sed "s/i386/arm7/g"`
        lib=`echo $lib_i386 | sed "s/i386\///g"`
        echo 'Creating fat binary...'
        lipo -arch armv6 $lib_arm6 -arch armv7 $lib_arm7 -arch i386 $lib_i386 -create -output $lib
    done
    echo 'Done! You will find the libaries and fat binary library in /lib/ios'
}
cd ../../

rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR/arm6 $BUILD_DIR/arm7 $BUILD_DIR/i386

setenv_arm6
echo 'Building armv6 library'
make clean
make assimp -j 8 -l
cp ./lib/libassimp.a $BUILD_DIR/arm6/

setenv_arm7
echo 'Building armv7 library'
make clean
make assimp -j 8 -l
cp ./lib/libassimp.a $BUILD_DIR/arm7/


setenv_i386
echo 'Building i386 library'
make clean
make assimp -j 8 -l
cp ./lib/libassimp.a $BUILD_DIR/i386/

rm ./lib/libassimp.a

create_outdir
票数 4
EN

Stack Overflow用户

发布于 2013-03-26 11:07:26

我在某个地方读到,替代这一点的方法是使用openframeworks,因为它已经包含了assimp。

http://www.openframeworks.cc/download/

查找ios版本。在里面有一个包含示例/ios/assimpExample/文件夹的文件夹,这将是一个很好的起点。

玩得开心!

票数 1
EN

Stack Overflow用户

发布于 2013-04-25 14:10:19

最新版本的Homebrew Mac上的boost根目录如下:

代码语言:javascript
复制
BOOST_ROOT=~/.homebrew/Cellar/boost/1.53.0

您的版本的boost可能是不同的,因此最后一个文件夹将有所不同。但是,作为最新的自制版本,C业力获得安装在当前用户的主目录中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13170139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档