You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下如何使用通过vcpkg安装的C语言库?

vcpkg安装C/C++库后的编译链接操作步骤(Ubuntu 20.04环境)

以下操作默认你已经完成vcpkg初始化和目标库(以libwebsockets为例)的安装,操作逻辑适用于所有通过vcpkg安装的第三方库。

前置说明

用<vcpkg-root>指代你本地vcpkg的根目录,也就是你执行git clone生成的vcpkg文件夹的绝对路径,比如家目录下的vcpkg路径为/home/你的用户名/vcpkg,后续命令中请自行替换为实际路径。


方式1:gcc手动编译单文件

适合测试单个小文件的场景,编译命令需要手动指定vcpkg的头文件、库文件搜索路径:

gcc 你的测试文件名.c -o 输出的可执行文件名 -I <vcpkg-root>/installed/x64-linux/include -L <vcpkg-root>/installed/x64-linux/lib -lwebsockets

参数说明:

  • -I:指定头文件搜索路径,vcpkg安装的所有库的头文件都统一存放在该目录下
  • -L:指定静态/动态库搜索路径,vcpkg安装的所有库的二进制文件都统一存放在该目录下
  • -l:指定要链接的库名,规则为去掉库文件名的lib前缀和.so/.a后缀,比如libwebsockets.so对应的参数就是-lwebsockets

如果编译其他通过vcpkg安装的库,只需修改-l后的库名即可,路径参数无需改动。

运行时如果提示找不到动态库,可以把<vcpkg-root>/installed/x64-linux/lib添加到LD_LIBRARY_PATH环境变量后再运行。


方式2:CMake项目编译(更推荐)

vcpkg和CMake原生适配,不需要手动处理路径,适合多文件项目场景:

  1. 在项目根目录创建CMakeLists.txt,内容示例如下:
cmake_minimum_required(VERSION 3.10)
# 替换为你自己的项目名
project(lws_test)

# 替换为你自己的源码文件和输出可执行文件名
add_executable(lws_demo test_lws.c)

# 查找vcpkg安装的libwebsockets库
find_package(libwebsockets CONFIG REQUIRED)
# 链接库到目标可执行文件
target_link_libraries(lws_demo PRIVATE websockets::websockets)
  1. 执行CMake配置命令,指定vcpkg提供的工具链文件:
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=<vcpkg-root>/scripts/buildsystems/vcpkg.cmake
  1. 执行编译命令:
cmake --build build
  1. 编译完成的可执行文件存放在build目录下,直接运行即可:
./build/lws_demo

如果使用其他vcpkg安装的库,只需修改find_package和target_link_libraries的库名即可,工具链参数为通用配置不需要改动。


可选:全局生效配置

如果不想每次编译都手动指定路径,可以在~/.bashrc文件末尾添加以下环境变量配置:

export C_INCLUDE_PATH=<vcpkg-root>/installed/x64-linux/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=<vcpkg-root>/installed/x64-linux/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=<vcpkg-root>/installed/x64-linux/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=<vcpkg-root>/installed/x64-linux/lib:$LD_LIBRARY_PATH

保存后执行source ~/.bashrc生效,之后gcc编译不需要再加-I和-L参数,直接使用gcc test_lws.c -o test_lws -lwebsockets即可完成编译。

内容的提问来源于stack exchange,提问作者tehkonst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:15:04