所以我尝试在 Visual Studio 2013 中使用 GTK+ 3.0,并且按照本教程进行操作:How to configure gtk on Visual studio 2010 。问题是,每当我尝试构建解决方案时,都会收到链接器错误。我正在使用这段代码:
#include <gtk-3.0\gtk\gtk.h>
int main(int argc, char* argv[])
{
gtk_init(&argc, &argv);
GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//gtk_widget_set_usize(window, 300, 200);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_window_set_title(GTK_WINDOW(window), "GTK+ with VS2013");
gtk_widget_show(window);
gtk_main();
return 0;
}
每个方法调用都会生成此类错误:
Error 1 error LNK2019: unresolved external symbol _gtk_init_abi_check referenced in function _main
我尝试过的事情:
在链接器的附加依赖项区域中添加“include”文件夹,以及项目设置下的 VC++ 目录区域
检查链接器中是否考虑了 lib 文件夹中的每个 .lib
这是我的 list :
atk-1.0.lib cairo.lib fontconfig.lib gailutil.lib gdk-win32-3.0.lib gdk_pixbuf-2.0.lib gio-2.0.lib glib-2.0.lib gmodule-2.0.lib gobject-2.0.lib gthread-2.0.lib gtk-win32-3.0.lib pango-1.0.lib pangocairo-1.0.lib pangoft2-1.0.lib pangowin32-1.0.lib
检查编译器标志以确保它们正确
这是我正在使用的编译器标志列表:
-IC:/gtk/include/gtk-3.0
-IC:/gtk/lib/gtk-3.0/3.0.0
-IC:/gtk/include/atk-1.0
-IC:/gtk/include/cairo
-IC:/gtk/include/gdk-pixbuf-2.0
-IC:/gtk/include/pango-1.0
-IC:/gtk/include/glib-2.0
-IC:/gtk/lib/glib-2.0/include
-IC:/gtk/include
-IC:/gtk/include/freetype2
-IC:/gtk/include/libpng14
-IC:/gtk/include/fontconfig
-IC:/gtk/include/gail-3.0
-IC:/gtk/include/gio-win32-2.0
-IC:/gtk/include/jasper
-IC:/gtk/include/librsvg-2.0
-IC:/gtk/include/libxml2
-IC:/gtk/include/lzma
-IC:/gtk/include/pixman-1
-IC:/gtk/lib/libffi-3.0.12/include
似乎这些库没有被正确引用,但我不知道还能尝试什么。欢迎任何建议!
最佳答案
对于任何感兴趣的人来说;我想到了!这是一种草率的处理方式,但我所要做的就是将 .dll 文件复制到 VS2013 项目的 Debug 文件夹中。其他一切都按预期进行!
关于visual-studio - Visual Studio 2013 中的 GTK+ 3.0 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29289486/