树莓派 cmake 编译HP-Socket

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vblegend_2013/article/details/81515605

刚到手树莓派不久  对linux也是一知半解所以在编译HPSOCKET组件的时候走了很多弯路 

CMakeList文件 保存下 

Linux目录建立 Build文件夹 

在 Build文件夹

1.    cmake ..

2.    sudo make -j4

linux目录下 CMakeList.txt

PROJECT(HPSocket4C)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 

#告知当前使用的是交叉编译方式,必须配置
SET(CMAKE_SYSTEM_NAME Linux)
#ARM CPU
SET(CMAKE_SYSTEM_PROCESSOR arm)
#编译动态库
SET(BUILD_SHARED_LIBS ON)
#
ADD_SUBDIRECTORY(src)

#或交叉编译器使用绝对地址
SET(CMAKE_C_COMPILER "gcc")
 
#指定C++交叉编译器
SET(CMAKE_CXX_COMPILER "g++")

#设置编译选项
set(CMAKE_C_FLAGS "-mthumb -mcpu=cortex-m0 -fPIC -Wall -fsigned-char -fno-builtin  -ffunction-sections -O0 -g")
#设置链接选项
set(CMAKE_EXE_LINKER_FLAGS "-shared -fPIC -Wl,-T -Xlinker ${PROJECT_SOURCE_DIR}/src/gnu.ld -u Default_Handler -nostartfiles -Wl,-Map -Xlinker -Wl,--gc-sections")        

src目录下 CMakeList.txt

INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/src/common
${PROJECT_SOURCE_DIR}/src/common/crypto
${PROJECT_SOURCE_DIR}/src/common/http
)
#ADD_SUBDIRECTORY(common)
#INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/common)

AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/common DIR_COMMON)
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/common/crypto DIR_CRYPTO)
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/common/http DIR_HTTP)

AUX_SOURCE_DIRECTORY(. DIR_SRC)
ADD_LIBRARY(HPSocket4C SHARED ${DIR_SRC} ${DIR_COMMON} ${DIR_CRYPTO} ${DIR_HTTP})

#TARGET_LINK_LIBRARIES(HPSocket4C -Wl,--start-group common -Wl,--end-group)

猜你喜欢

转载自blog.csdn.net/Vblegend_2013/article/details/81515605