mysql交叉编译 cmake

您所在的位置:网站首页 cmake交叉编译 mysql交叉编译 cmake

mysql交叉编译 cmake

2023-03-24 07:56| 来源: 网络整理| 查看: 265

cmake 因为“又”要额外学一门语言而被诟病,但这并不妨碍越来越多私人项目用 cmake 来管理;autoconfig 确实是更好的发行工具,但用 cmake 管理项目显然更加的容易。如果要应用这些 cmake 管理的项目到嵌入式环境中,必然涉及交叉编译的问题。

这些项目交叉编译,主要是设置一些环境变量。

这些设定可以写成一个 .cmake 文件,1) 需要交叉编译时 include ,2)或者直接把这些配置写到 CMakeLists.txt 文件的开始位置。两种方法是等效的。

用下面语句应用写好的配置。

include (cross.cmake)

下面是收集的几个针对 arm 平台的交叉编译配置,参考这两个配置,根据自己平台的不同,进行定制修改即可。(感觉直接制定编译器即可?待验证)

配置1

SET(CROSS_COMPILE 1)

IF(CROSS_COMPILE)

SET(CMAKE_SYSTEM_NAME Linux)

SET(TOOLCHAIN_DIR "/home/zchx/Tools/opt/FriendlyARM/toolschain/4.5.1")

set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-g++)

set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gcc)

set(GNU_FLAGS "-mfpu=vfp -fPIC")

set(CMAKE_CXX_FLAGS "${GNU_FLAGS} ")

set(CMAKE_C_FLAGS "${GNU_FLAGS} ")

SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_DIR}

${TOOLCHAIN_DIR}/arm-none-linux-gnueabi/include

${TOOLCHAIN_DIR}/arm-none-linux-gnueabi/lib )

include_directories(/usr/local/Trolltech/QtEmbedded-4.8.5-arm/include/)

include_directories(/home/zchx/Downloads/boost_1_49_0_arm)

link_directories(/home/zchx/Downloads/boost_1_49_0_arm/stage/lib)

link_directories(/home/zchx/Downloads/ffmpeg-1.0.8-arm/ffmpeglib/)

link_directories(/usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib)

link_directories(/home/zchx/Downloads/live_arm/BasicUsageEnvironment/)

link_directories(/home/zchx/Downloads/live_arm/groupsock/)

link_directories(/home/zchx/Downloads/live_arm/liveMedia/)

link_directories(/home/zchx/Downloads/live_arm/UsageEnvironment/)

ENDIF(CROSS_COMPILE)

配置2

#告知当前使用的是交叉编译方式,必须配置

SET(CMAKE_SYSTEM_NAME Linux)

#指定编译工具,一定要设置

#或交叉编译器使用绝对地址

SET(CMAKE_C_COMPILER "arm-linux-gcc")

#指定C++交叉编译器

SET(CMAKE_CXX_COMPILER "arm-linux-g++")

#不一定需要设置

#指定交叉编译环境安装目录...

SET(CMAKE_FIND_ROOT_PATH "...")

#从来不在指定目录下查找工具程序

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

#只在指定目录下查找库文件

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

#只在指定目录下查找头文件

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

配置3

SET(CMAKE_SYSTEM_NAME Linux)

SET(CMAKE_SYSTEM_PROCESSOR arm)

SET(TOOLCHAIN_DIR "/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le")

SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_DIR})

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

SET(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm_v5t_le-gcc)

SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm_v5t_le-g++)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3