linux下第三方库的交叉编译参数总结
一、平台类别
1、ios:
--host=arm-apple-darwin
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/
--extra-cflags='-arch armv7s'
--extra-ldflags='-arch armv7s -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system'
2、android:
--host=arm-linux
--cross-prefix=/opt/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
--sysroot=/opt/android-ndk-r10/platforms/android-14/arch-arm
--extra-cflags='-march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__'
3、win32:
--host=i686-w64-mingw32
--cross-prefix=i686-w64-mingw32-
注意:
一、平台类别
1、ios:
--host=arm-apple-darwin
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/
--extra-cflags='-arch armv7s'
--extra-ldflags='-arch armv7s -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system'
2、android:
--host=arm-linux
--cross-prefix=/opt/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
--sysroot=/opt/android-ndk-r10/platforms/android-14/arch-arm
--extra-cflags='-march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__'
3、win32:
--host=i686-w64-mingw32
--cross-prefix=i686-w64-mingw32-
注意:
--cross-prefix,--sysroot 不是所有库都需要的。
--prefix很多需要绝对路径
二、范例:
android:
android:
二、范例:
1、编译libopus
linux:
./configure --enable-static --disable-shared --prefix=/home/kevin/studio/opensource/opus-1.1/build
win32:
./configure --enable-static --disable-shared --host=i686-w64-mingw32 --prefix=/home/kevin/studio/opensource/opus-1.1/build-win32
./configure --enable-static --disable-shared --host=i686-w64-mingw32 --prefix=/home/kevin/studio/opensource/opus-1.1/build-win32
android:
./configure --disable-static --enable-shared
--host=arm-linux --prefix=/home/kevin/studio/opensource/opus-1.1/build-android
./configure --disable-shared --enable-static
--host=arm-linux --prefix=/home/kevin/studio/opensource/opus-1.1/build-android --with-sysroot=/opt/android-ndk-r10/platforms/android-14/arch-arm
ios:
./configure --enable-static --disable-shared
--host=arm-apple-darwin --prefix=/home/kevin/studio/opensource/opus-1.1/build-ios
2、编译aac
linux:
./configure --enable-static --disable-shared
--with-mp4v2=no --prefix=/home/kevin/studio/opensource/faac-1.28/build
win32:
./configure --enable-static --disable-shared --with-mp4v2=no --host=i686-w64-mingw32 --prefix=/home/kevin/studio/opensource/faac-1.28/build-win32
./configure --enable-static --disable-shared --with-mp4v2=no --host=i686-w64-mingw32 --prefix=/home/kevin/studio/opensource/faac-1.28/build-win32
android:
./configure --enable-static --disable-shared
--with-mp4v2=no --host=arm-linux --prefix=/home/kevin/studio/opensource/faac-1.28/build-android
ios:
./configure --enable-static --disable-shared
--with-mp4v2=no --host=arm-apple-darwin --prefix=/home/kevin/studio/opensource/faac-1.28/build-ios