Visual Studio Community 2017 cl 链接器不会链接 GTK3 库?

Posted

技术标签:

【中文标题】Visual Studio Community 2017 cl 链接器不会链接 GTK3 库?【英文标题】:Visual Studio Community 2017 cl linker won't link GTK3 libraries? 【发布时间】:2018-10-29 22:23:35 【问题描述】:

我正在使用 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。但是,链接器返回以下错误:

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

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

提前谢谢大家!

胡图

【问题讨论】:

【参考方案1】:

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

在您的情况下,gtk 库类似于lib 文件夹%GINC_PATH%\lib 中的gtk-win32-3.0.lib

即使在 Linker 中提供了所需的库引用后,我仍然无法在我的 Visual Studio 应用程序中链接 GTK 库。

【讨论】:

以上是关于Visual Studio Community 2017 cl 链接器不会链接 GTK3 库?的主要内容,如果未能解决你的问题,请参考以下文章

2015版Visual Studio Code和Visual Studio Community的区别

Visual Studio community 开发者个人免费版安装教程

Visual Studio community 开发者个人免费版安装教程

Visual Studio 2010 Express 与 Community 2015 兼容?

Visual Studio community 开发者个人免费版安装教程

如何在 Visual Studio 2015 Community 中创建本地数据库?