编译assimp for android

编译assimp for android

参看/contrib/android-cmake/android.toolchain.cmake   及scripts/android_crosscompile/make_android.bat 

cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/android-cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-21 -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-4.9 -DANDROID_ABI=arm64-v8a -DCMAKE_MAKE_PROGRAM=/opt/arch64-linux-android-4.9-r15c/aarch64-linux-android-4.9/bin/make -DCMAKE_INSTALL_PREFIX=/opt/assimp-4.1.0_android ..

(参看http://www.myandroidonline.com/2015/06/09/compile-assimp-open-source-library-for-android/  https://blog.csdn.net/fyfcauc/article/details/72627996)

错误:CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
解决方法:是由于在编译android版本时,必须将ndk及DCMAKE_MAKE_PROGRAM加上。

错误:/home/wangyingjun/Downloads/assimp-4.1.0/contrib/unzip/crypt.h:48:51: error: unknown type name 'z_crc_t'
 static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c)
                                                   ^
/home/wangyingjun/Downloads/assimp-4.1.0/contrib/unzip/crypt.h:65:69: error: unknown type name 'z_crc_t'
 static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab)
                                                                     ^
/home/wangyingjun/Downloads/assimp-4.1.0/contrib/unzip/unzip.c: In function 'unzOpenCurrentFile3':
/home/wangyingjun/Downloads/assimp-4.1.0/contrib/unzip/unzip.c:1183:24: warning: assignment from incompatible pointer type
         s->pcrc_32_tab = get_crc_table();
                        ^
code/CMakeFiles/assimp.dir/build.make:2428: recipe for target 'code/CMakeFiles/assimp.dir/__/contrib/unzip/unzip.c.o' failed

解决方法:cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/android-cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-22 -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-4.9 -DANDROID_ABI=arm64-v8a -DCMAKE_MAKE_PROGRAM=/opt/arch64-linux-android-4.9-r15c/aarch64-linux-android-4.9/bin/make -DCMAKE_INSTALL_PREFIX=/opt/assimp-4.1.0_android -DASSIMP_BUILD_ZLIB=ON ..

错误:/opt/android-ndk-r15c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: cannot find -lpthread
collect2: error: ld returned 1 exit status
test/CMakeFiles/unit.dir/build.make:1271: recipe for target 'test/unit' failed
make[2]: *** [test/unit] Error 1
CMakeFiles/Makefile2:786: recipe for target 'test/CMakeFiles/unit.dir/all' failed
make[1]: *** [test/CMakeFiles/unit.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

解决方法:-DASSIMP_BUILD_TESTS=OFF

猜你喜欢

转载自blog.csdn.net/wangyingjun123/article/details/82497168
今日推荐