我想将 libuv 包含到我的项目中
我尝试使用find_package但cmake找不到libuv-config.cmake
我应该将源代码复制到项目中,还是继续尝试以其他方式使用find_package?
先安装开发库包:
$ sudo apt-get install libuv1-dev
$ brew install libuv
选项 1: 创建一个
CMakeLists.txt
文件,其中包含:
cmake_minimum_required(VERSION 3.10)
project(libuv-cmake)
find_path(LIBUV_INCLUDE_DIR NAMES uv.h)
find_library(LIBUV_LIBRARIES NAMES uv libuv)
add_executable(main main.cpp)
target_include_directories(main PRIVATE ${LIBUV_INCLUDE_DIR})
target_link_libraries(main ${LIBUV_LIBRARIES})
选项 2: 创建一个
CMakeLists.txt
文件,其中包含:
cmake_minimum_required(VERSION 3.10)
project(libuv-cmake)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBUV REQUIRED IMPORTED_TARGET libuv)
add_executable(main main.cpp)
target_include_directories(main PRIVATE ${LIBUV_INCLUDE_DIRS})
target_link_libraries(main PkgConfig::LIBUV)
在选项2中,您需要安装
pkg-config
:
$ sudo apt-get install pkg-config
$ brew install pkg-config
创建
main.cpp
示例文件:
#include <uv.h>
int main() {
uv_loop_t loop;
uv_loop_init(&loop);
uv_run(&loop, UV_RUN_DEFAULT);
}
构建它:
$ mkdir build
$ cd build
$ cmake ..
$ make
测试一下(程序不打印任何内容,但执行时没有错误):
$ ./main