July 26, 2016
作者:dengshuai_super
出处:http://blog.csdn.net/dengshuai_super/article/details/52038970
声明:转载请注明作者及出处。
CMake在ubuntu系统下默认使用系统的gcc、g++编译器,编译arm下的程序要使用arm-linux-gcc,需要对CMake进行设置(通过在CMakeLists.txt中指定交叉编译器的方法)。
在CMakeLists.txt一开始加入相关设置:
#告知当前使用的是交叉编译方式,必须配置
SET(CMAKE_SYSTEM_NAME Linux)
#指定C交叉编译器,必须配置
#或交叉编译器使用绝对地址
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)
Ubuntu下的CMakeList文件:
1.build CMakeList of the thidrparty.a
## build CMakeList of the thidrparty.a
cmake_minimum_required(VERSION 3.1.0)
project(thirdparty)
#TODO :<
# c++11 required
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#TODO/>
# OpenVC3 required
find_package(OpenCV 3.1.0 REQUIRED)
# where to find header files
include_directories(${OpenCV_INCLUDE_DIRS})
# sources to be compiled
set(SOURCE_FILES
xmlParser/xmlParser.cpp
textDetect/erfilter.cpp
LBP/helper.cpp
LBP/lbp.cpp
mser/mser2.cpp
)
# pack objects to static library
add_library(thirdparty STATIC ${SOURCE_FILES})