fdbus ffmpeg 交叉編譯

Android 編譯

${HOME}/Android/Sdk/cmake/3.10.2.4988404/bin/cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_NDK=${HOME}/Android/Sdk/ndk/22.0.7026061 \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_MAKE_PROGRAM=${HOME}/Android/Sdk/cmake/3.10.2.4988404/bin/ninja \
-DCMAKE_TOOLCHAIN_FILE=${HOME}/Android/Sdk/ndk/22.0.7026061/build/cmake/android.toolchain.cmake \
-DANDROID_NATIVE_API_LEVEL=28 \
-DANDROID_TOOLCHAIN=clang \
-GNinja \
-Dfdbus_ANDROID=ON \
-Dfdbus_LINK_PTHREAD_LIB=OFF \
-Dfdbus_ENABLE_LOG=ON \
-Dfdbus_LOG_TO_STDOUT=ON \
-Dfdbus_SOCKET_ENABLE_PEERCRED=ON \
-Dfdbus_ENABLE_MESSAGE_METADATA=ON \
-Dfdbus_UDS_ABSTRACT=ON \
-Dfdbus_ALLOC_PORT_BY_SYSTEM=ON \
-Dfdbus_BUILD_CLIB=OFF \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/huibin/CLionProjects/fdbus_android/cmake/libs \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/home/huibin/CLionProjects/fdbus_android/cmake/bin \



${HOME}/Android/Sdk/cmake/3.10.2.4988404/bin/ninja

QNX 編譯

toolchain-qnx700-aarch64.cmake

SET(CMAKE_SYSTEM_NAME QNX)
SET(CMAKE_SYSTEM_VERSION 7.0.0)
#SET(CMAKE_SYSTEM_PROCESSOR armv7)
SET(CMAKE_SYSTEM_PROCESSOR aarch64)
SET(TOOLCHAIN QNX)

#SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".a")

SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")

set(HOST_EXECUTABLE_SUFFIX "")

FIND_PATH(QNX_HOST
        NAME usr/bin/qcc
        PATHS $ENV{QNX_HOST} /home/huibin/qnx700/host/linux/x86_64
        NO_CMAKE_PATH
        NO_CMAKE_ENVIRONMENT_PATH
        )

FIND_PATH(QNX_TARGET
        NAME usr/include/qconfig.mk
        PATHS $ENV{QNX_TARGET} /home/huibin/qnx700/target/qnx7
        NO_CMAKE_PATH
        NO_CMAKE_ENVIRONMENT_PATH
        )

FIND_PATH(QNX_CONFIGURATION
        NAME bin/qnxactivate
        PATHS $ENV{QNX_CONFIGURATION}
        "/home/huibin/.qnx"
        NO_CMAKE_PATH
        NO_CMAKE_ENVIRONMENT_PATH
        )

SET(ENV{QNX_HOST} ${QNX_HOST})
SET(ENV{QNX_TARGET} ${QNX_TARGET})

SET(ENV{QNX_CONFIGURATION} ${QNX_CONFIGURATION})
SET(ENV{PATH} "$ENV{PATH};${QNX_HOST}/usr/bin")

SET(CMAKE_MAKE_PROGRAM "${QNX_HOST}/usr/bin/make${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX Make Program")
SET(CMAKE_SH "${QNX_HOST}/usr/bin/sh${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX shell Program")
SET(CMAKE_AR "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-ar${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX ar Program")
SET(CMAKE_RANLIB "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-ranlib${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX ranlib Program")
SET(CMAKE_NM "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-nm${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX nm Program")
SET(CMAKE_OBJCOPY "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-objcopy${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX objcopy Program")
SET(CMAKE_OBJDUMP "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-objdump${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX objdump Program")
SET(CMAKE_LINKER "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-ld${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX Linker Program")
SET(CMAKE_STRIP "${QNX_HOST}/usr/bin/nto${CMAKE_SYSTEM_PROCESSOR}-strip${HOST_EXECUTABLE_SUFFIX}" CACHE PATH "QNX Strip Program")

SET(CMAKE_C_COMPILER ${QNX_HOST}/usr/bin/aarch64-unknown-nto-qnx7.0.0-gcc${HOST_EXECUTABLE_SUFFIX})
SET(CMAKE_C_FLAGS_DEBUG "-g")
SET(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
SET(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")

SET(CMAKE_CXX_COMPILER ${QNX_HOST}/usr/bin/aarch64-unknown-nto-qnx7.0.0-g++${HOST_EXECUTABLE_SUFFIX})
SET(CMAKE_CXX_FLAGS_DEBUG "-g")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")

SET(CMAKE_FIND_ROOT_PATH ${QNX_TARGET})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

#SET(CMAKE_C_FLAGS "-Vgcc_ntoaarch64le" CACHE STRING "qcc c flags" FORCE)
#SET(CMAKE_CXX_FLAGS "-Vgcc_ntoaarch64le -lang-c++" CACHE STRING "qcc cxx flags" FORCE)

fdbus:

cmake \
-Dfdbus_SOCKET_ENABLE_PEERCRED=OFF \
-Dfdbus_PIPE_AS_EVENTFD=true \
-Dfdbus_LINK_SOCKET_LIB=true \
-Dfdbus_LINK_PTHREAD_LIB=OFF \
-DCMAKE_TOOLCHAIN_FILE=/home/huibin/toolchain-qnx700-aarch64.cmake \
-DCMAKE_INSTALL_PREFIX=./install

protobuf:

cmake \
-DCMAKE_TOOLCHAIN_FILE=/home/huibin/toolchain-qnx700-aarch64.cmake \
-Dprotobuf_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=./install

 

ffmpeg

qnx:

./configure  
--prefix=./install \
--cross-prefix=/home/huibin/qnx700/host/linux/x86_64/usr/bin/aarch64-unknown-nto-qnx7.0.0- \
--enable-cross-compile \
--pkg-config=pkg-config \
--target-os=qnx \
--arch=aarch64 \
--enable-shared \
--enable-static \
--enable-gpl \
--enable-nonfree \
--enable-asm \
--extra-cflags="-std=gnu99 -fPIC"

android

./configure  \
--prefix=./install \
--target-os=android \
--arch=aarch64 \
--cpu=armv8-a \
--cross-prefix=${HOME}/Android/Sdk/ndk/22.0.7026061/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android- \
--cc=${HOME}/Android/Sdk/ndk/22.0.7026061/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang \
--cxx=${HOME}/Android/Sdk/ndk/22.0.7026061/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang++ \
--enable-cross-compile \
--pkg-config=pkg-config \
--enable-shared \
--disable-static \
--enable-gpl \
--enable-nonfree \
--enable-asm \
--enable-pic \
--extra-cflags="-std=gnu99 -fPIC"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章