使用带有CMake的libuv编译项目

时间:2018-02-07 12:03:54

标签: c cmake

我有一个小的异步udp服务器 - RiDE

我不能用CMake构建它。当我试图得到错误时:

undefined reference to 'uv_default_loop'
undefined reference to 'uv_udp_init'
...(other libuv functions)

但是当我使用这样的命令构建它时:

gcc -std=c11 RiDE_server.h RiDE_server.cpp main.cpp -o main.x -Wall -luv
一切都好。

我认为问题出在src / CMakeLists.txt文件中,但我无法理解如何修复它。我的机器上的libuv头文件的路径 - / usr / include。 libuv共享库的路径 - / usr / lib / x86-64-linux-gnu。

1 个答案:

答案 0 :(得分:2)

运行make VERBOSE=1。它运行什么链接器命令?必须缺少-luv。要解决此问题,请在CMakeLists.txt

中添加类似内容
target_link_libraries(foo uv)