You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下vcpkg安装pkg-config、sigc++-2.0及VS2017项目配置问题

咱们一步步来解决这些问题,都是Windows上用vcpkg搭配pkg-config、CMake的常见场景:

1. 用vcpkg安装pkg-config和sigc++-2.0

首先得明确:vcpkg里没有直接叫pkg-config的包,对应的是pkgconf(功能完全一致),而sigc++-2.0对应的包是libsigcpp,你已经查到它已安装,不过还是贴一下安装命令供参考:

  • 打开命令提示符(CMD)或者PowerShell,进入vcpkg所在目录(比如C:\src\vcpkg),运行:
    # 安装pkgconf(即pkg-config)的x86版本
    .\vcpkg install pkgconf:x86-windows
    # 安装libsigcpp(即sigc++-2.0)的x86版本,如果你还没装的话
    .\vcpkg install libsigcpp:x86-windows
    
    要是你需要64位版本,把x86-windows换成x64-windows就行。
2. 让pkg-config识别到sigc++-2.0

核心是给pkg-config指定.pc文件的路径,也就是你提到的C:\src\vcpkg\installed\x86-windows\lib\pkgconfig,有两种设置方式:

临时生效(仅当前终端会话)

  • CMD里运行:
    set PKG_CONFIG_PATH=C:\src\vcpkg\installed\x86-windows\lib\pkgconfig
    
  • PowerShell里运行:
    $env:PKG_CONFIG_PATH = "C:\src\vcpkg\installed\x86-windows\lib\pkgconfig"
    

永久生效(所有终端会话都能用)

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」区域点击「新建」,变量名填PKG_CONFIG_PATH,变量值填C:\src\vcpkg\installed\x86-windows\lib\pkgconfig
  3. 点击确定保存,之后重启终端生效

验证是否成功

打开新的终端,运行:

pkg-config --list-all | findstr sigc

如果能看到类似sigc++-2.0 SigC++ - The Typesafe Callback Framework for C++的输出,就说明pkg-config已经能识别到sigc++-2.0了。

3. 用vcpkg、CMake和pkg-config生成VS2017项目文件

先确保vcpkg和CMake已经集成好,再写CMake配置,最后生成项目:

步骤1:集成vcpkg到CMake

在vcpkg目录下运行:

.\vcpkg integrate install

终端会提示“Applied user-wide integration for this vcpkg root.”,说明集成成功。

步骤2:编写CMakeLists.txt

在你的项目根目录创建CMakeLists.txt,示例内容如下:

cmake_minimum_required(VERSION 3.15)
project(MySigcDemo)

# 启用pkg-config模块
find_package(PkgConfig REQUIRED)
# 查找sigc++-2.0依赖
pkg_check_modules(SIGCPP REQUIRED sigc++-2.0)

# 添加你的可执行文件(这里假设你的主文件是main.cpp)
add_executable(${PROJECT_NAME} main.cpp)

# 链接sigc++的头文件、库和编译选项
target_include_directories(${PROJECT_NAME} PRIVATE ${SIGCPP_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${SIGCPP_LIBRARIES})
target_compile_options(${PROJECT_NAME} PRIVATE ${SIGCPP_CFLAGS_OTHER})

步骤3:生成VS2017项目文件

打开终端,进入你的项目根目录,运行以下命令(注意路径的斜杠和架构匹配):

# 生成x86架构的VS2017项目
cmake -G "Visual Studio 15 2017" -A Win32 -DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake .

如果需要x64架构,把-A Win32换成-A x64,同时确保你安装的vcpkg包是x64-windows版本。

运行完后,项目目录里会生成MySigcDemo.sln文件,直接用VS2017打开即可。


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

火山引擎 最新活动