Cmake 使用备忘

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Cmake 使用备忘

CMake Vcpkg

set(CMAKE_TOOLCHAIN_FILE "D:/SoftwareData/vcpkg/scripts/buildsystems/vcpkg.cmake")

CMake 引入包

CUDA TensorRT TensorRT和CUDA放到一起

find_package(CUDA REQUIRED)
include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib")

OpenCV

find_package(OpenCV REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable(test main.cpp)
target_link_libraries( test ${OpenCV_LIBS} )

Eigen3

set(Eigen3_DIR "D:/SoftwareData/vcpkg/packages/eigen3_x86-windows/share/eigen3")
find_package(Eigen3 CONFIG REQUIRED)
target_link_libraries(main PRIVATE Eigen3::Eigen)

Thread

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(test PUBLIC Threads::Threads)

Boost

sudo apt-get install libboost-all-dev
find_package(Boost REQUIRED)
if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
endif()
SET(${Boost_LIBRARIES})

MYSQL

sudo apt install mysql-server mysql-client libmysqlclient-dev
find_package(MySQL REQUIRED)
if(MYSQL_FOUND)
    include_directories(${MYSQL_INCLUDE_DIR})
endif()
SET(LIBS mysqlclient_r)

Protobuf

sudo apt install libprotobuf-dev protobuf-compiler
find_package(Protobuf REQUIRED)
function(proto2cpp PROTO_FILE CPP_DIR)
    execute_process(COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FILE} --cpp_out=. --proto_path=${CPP_DIR} WORKING_DIRECTORY ${CPP_DIR})
    message("${PROTOBUF_PROTOC_EXECUTABLE}  ${PROTO_FILE} --cpp_out=${CPP_DIR} --proto_path=${CPP_DIR}")
endfunction()
proto2cpp("${CMAKE_CURRENT_SOURCE_DIR}/example/user.proto" "${CMAKE_CURRENT_SOURCE_DIR}/example")
add_executable(mprpc main.cpp)
target_link_libraries(mprpc protobuf)
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
缓存 Unix 程序员
CMake 教程1
CMake 教程
67 1
|
4月前
|
Dart IDE Unix
CMake 教程3
CMake 教程
39 1
|
4月前
CMake 教程2
CMake 教程
25 0
|
6月前
|
C++ 开发者 缓存
面向 C++ 的现代 CMake 教程(四)(1)
面向 C++ 的现代 CMake 教程(四)
65 0
|
6月前
|
C++ 开发者 开发工具
面向 C++ 的现代 CMake 教程(四)(2)
面向 C++ 的现代 CMake 教程(四)
68 0
|
6月前
|
C++ 测试技术 开发工具
面向 C++ 的现代 CMake 教程(五)(1)
面向 C++ 的现代 CMake 教程(五)
57 0
|
6月前
|
C++ 容器 Docker
面向 C++ 的现代 CMake 教程(一)(1)
面向 C++ 的现代 CMake 教程(一)
137 0
|
6月前
|
C++ 缓存 Unix
面向 C++ 的现代 CMake 教程(四)(4)
面向 C++ 的现代 CMake 教程(四)
52 0
|
6月前
|
C++ 开发者 Unix
面向 C++ 的现代 CMake 教程(四)(5)
面向 C++ 的现代 CMake 教程(四)
57 0
|
6月前
|
C++ 存储 索引
面向 C++ 的现代 CMake 教程(一)(5)
面向 C++ 的现代 CMake 教程(一)
103 0