日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

cmake生成so包并调用(C++project,build,cmake)

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmake生成so包并调用(C++project,build,cmake) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 目錄結構

2 . downloads

2.1

build
module
process
CMakeLists.txt
====>


cmake_minimum_required(VERSION 3.5)if(CMAKE_COMPILER_IS_GNUCC)message("COMPILER IS GNUCC")ADD_DEFINITIONS ( -std=c++11 )
endif(CMAKE_COMPILER_IS_GNUCC)SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -ggdb3")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/module)
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/process)

2. 2 module

include/utikls.h
src/utils.cpp
CMakeLists.txt
====>


cmake_minimum_required(VERSION 3.5)project(module)if(CMAKE_COMPILER_IS_GNUCC)message("COMPILER IS GNUCC")ADD_DEFINITIONS ( -std=c++11 )
endif(CMAKE_COMPILER_IS_GNUCC)SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -ggdb3")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
# 3. opencv
#link_directories("/usr/local/lib")
#include_directories("/usr/local/include/opencv4")# 5. 添加頭文件路徑
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/utils)
# 6. 添加源文件
FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
message(${CMAKE_CURRENT_SOURCE_DIR})
message(${SOURCE_FILES})
# 7. 添加鏈接庫
#LINK_LIBRARIES(opencv_core opencv_highgui)# 9. 設置環境變量,編譯用到的源文件全部都要放到這里,否則編譯能夠通過,
#但是執行的時候會出現各種問題,比如"symbol lookup error xxxxx , undefined symbol"
SET(ALL_SRCS ${SOURCE_FILES})
message(${ALL_SRCS})# 生成so包
ADD_LIBRARY(${PROJECT_NAME} SHARED ${ALL_SRCS})# 10.add executable file,添加要編譯的可執行文件
#ADD_EXECUTABLE(${PROJECT_NAME} ${ALL_SRCS})

2. 3 process

include
src/main.cpp
CMakeLists.txt
====>

cmake_minimum_required(VERSION 3.5)project(hello)if(CMAKE_COMPILER_IS_GNUCC)message("COMPILER IS GNUCC")ADD_DEFINITIONS ( -std=c++11 )
endif(CMAKE_COMPILER_IS_GNUCC)#SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -ggdb3")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")# 5. 添加頭文件路徑
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR}/module/include/utils)
# 6. 添加源文件
FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
message(${CMAKE_CURRENT_SOURCE_DIR})
message(${SOURCE_FILES})
# 7. 添加鏈接庫LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/module)
LINK_LIBRARIES(module)# 9. 設置環境變量,編譯用到的源文件全部都要放到這里,否則編譯能夠通過,
#但是執行的時候會出現各種問題,比如"symbol lookup error xxxxx , undefined symbol"
SET(ALL_SRCS ${SOURCE_FILES})
message(${ALL_SRCS})# 10.add executable file,添加要編譯的可執行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${ALL_SRCS})# 不可以
#TARGET_LINK_LIBRARIES(${CMAKE_BINARY_DIR}/module/libmodule.so)

3. 編譯運行

總結

以上是生活随笔為你收集整理的cmake生成so包并调用(C++project,build,cmake)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。