如何在CMake中查找vcpkg安装的GTK

时间:2019-07-29 20:04:41

标签: windows cmake gtk gtk3 vcpkg

我通过以下方式安装GTK软件包:

vcpkg install gtk:x64-windows

我还将环境变量CMAKE_TOOLCHAIN_FILE设置为C:\vcpkg\scripts\buildsystems\vcpkg.cmake,但是find_package找不到GTK。如何在CMake中找到GTK?

2 个答案:

答案 0 :(得分:1)

构建GTK之后,是否确定要通过Powershell-Admin运行.\vcpkg integrate install?您是否使用定义的x64-windows三元组( VCPKG_TARGET_TRIPLET )构建项目?

^完成此操作后,删除 CMakeCache ,和/或测试重新生成到另一个文件夹,然后再次尝试配置。

在CMake一侧,检查您的 CMakeLists 那里也有find_package (GTK)。您可能还必须定义GTK_INCLUDE_DIR并通过CMake端的target_link_libraries链接GTK。

答案 1 :(得分:0)

CMAKE find_package 与 vcpkg 集成无法按预期工作,至少对于 GTK4 库是这样。我可以通过手动添加依赖项来修复,如下所示,或者可能创建一个 CMAKE 宏

include_directories(${PATH TO VCPKG INSTALLED}/gtk-4.0)
include_directories(${PATH TO VCPKG INSTALLED}/gtkmm-4.0) .. include rest of the used dependencies

上面应该可以编译代码,下面的库也应该如下链接。

target_link_libraries(main "[VCPKG Intallation]/lib/sigc-3.0.lib") and all dependencies gtkmm-4.0.lib, gtk-4.lib .. as per your needs