首页 > 解决方案 > Visual Studio Community 2017 cl 链接器不会链接 GTK3 库?

问题描述

我正在使用 GTK 作为 GUI 工具箱在 C 中编写代码。我通过 MSYS2 安装了 GTK3,并设法使用 GCC (TDM-Dragon) 编译和构建。

但是,最近我正在尝试使用 Visual Studio Community 2017 中包含的 cl 进行编译和链接(听说它更快更稳定)。有了这个,我很难构建一个应用程序。我松散地遵循本教程: http ://www.tarnyko.net/en/?q=node/22

我创建了一个 BAT 文件并从 VS 2017 命令提示符调用它:

set GINC_PATH="C:\msys64\mingw64\include"
set GLIB_PATH="C:\msys64\mingw64\lib"
cl gtk3test.c -I"%GINC_PATH%\gtk-3.0" -I"%GINC_PATH%\glib-2.0" -I"%GLIB_PATH%\glib-2.0\include" -I"%GINC_PATH%\pango-1.0" -I"%GINC_PATH%\cairo" -I"%GINC_PATH%\gdk-pixbuf-2.0" -I"%GINC_PATH%\atk-1.0" -Dinline= /link /LIBPATH:%GLIB_PATH% gtk-3.lib gdk-3.lib gobject-2.0.lib glib-2.0.lib

这编译好了,给了我 gtk3test.obj。但是,链接器返回以下错误:

链接:致命错误 LNK1181:无法打开输入文件 'gtk-3.lib'

我在这里做错了什么?如何使用 cl 链接 GTK3 应用程序?

谢谢大家!

许图

标签: clinkergtk3cl

解决方案


请检查gtk-3.lib您的文件夹路径中是否有[%GINC_PATH%]。即使我在使用GTK+3.0时遇到了这个问题,包配置也没有提供正确的库参考。

在您的情况下, gtk 库就像gtk-win32-3.0.liblib文件夹中可用%GINC_PATH%\lib

即使在 Linker 中提供了所需的库引用,我仍然在我的 Visual Studio 应用程序中链接 GTK 库时遇到问题。


推荐阅读