背景

遇到一个c++项目,想跑一些示例。了解下如何直接引用第三方库。

编写cmake

项目结构

myproject
   include
      xx.h
   main.cpp
   CMakeLists.txt   

CMakeLists.txt

cmake_minimum_required(VERSION 3.28)
project(velox_demo)

set(CMAKE_CXX_STANDARD 17)


# 添加头文件路径
include_directories(include)
# 添加编译生成文件的路径
## 这里指向编译.a
## 这种是适合源码下载的c++库
link_directories(/Users/xx/velox/_build/release/velox/external/md5)



## 这里是指向brew 安装的
find_package(FOLLY REQUIRED)
include_directories(${FOLLY_INCLUDE_DIR})
link_directories(${FOLLY_LIBRARY_DIR})


# 查找并包含gflags库
find_package(gflags REQUIRED)
include_directories(${GFLAGS_INCLUDE_DIR})
link_directories(${GFLAGS_LIBRARY_DIR})

# 添加可执行文件
add_executable(velox_demo main.cpp)

# 链接库
target_link_libraries(velox_demo md5 ${FOLLY_LIBRARIES} gflags)

代码里引用

#include "md5.h"

测试

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐