错误3错误LNK1104:无法打开文件'gtk-3.lib'

时间:2013-11-21 17:53:12

标签: visual-studio visual-studio-2012 gtk gtk3

我一直试图让GTK 3.0工作,并且已经按照这里的所有步骤进行了操作

How to configure gtk on Visual studio 2010

在需要让GTK工作的地方改为3.0,它似乎已经加载了编译所需的一切,但它给了我错误

Error   3   error LNK1104: cannot open file 'gtk-3.lib'

每当我尝试运行程序时。 我正在使用2012年的视觉工作室,但这是我发现任何关于让GTK在任何视觉工作室上运行的唯一地方。 这是我正在使用的代码:

#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_get_preferred_size(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 VS2010");

    gtk_widget_show(window);     

    gtk_main();   
    return 0;
}

我注释掉了gtk_widget_get_prefered_size调用,因为它与问题无关

有什么建议吗?我看了好几个地方,但没有人提出明确的答案。

2 个答案:

答案 0 :(得分:7)

gtk-3.lib不存在。实际上,构建GTK 3应用程序不需要库引用。 pkg-config助手似乎没有生成链接应用程序所需的正确链接器标志。

只需在您的附加选项区域添加GTK包中找到的所有现有库(\ gtk3 \ lib)。我的包的lib文件(gtk + -bundle_3.6.4-20130921)如下:

  

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

(或者您可以通过命令提示符转到库路径并输入dir *.lib /B

不要忘记在您开始的initial answer中添加/ENTRY:mainCRTStartup标记。

答案 1 :(得分:0)

您可能需要编辑项目设置或使用pragma注释链接到gtk库:

#pragma comment(lib, "gtk-3")//if the libray is on your project's path


#define PATH "C:\\example\\"
#pragma comment(lib, PATH"gtk-3")//if the library is on PATH