2013-11-21 144 views
4

我一直在試圖讓GTK 3.0工作,並遵循這裏的所有步驟錯誤錯誤LNK1104:無法打開文件「GTK的3.lib」

How to configure gtk on Visual studio 2010

並改變3.0在需要的地方得到GTK的工作,它似乎已經裝好了,以編譯所需要的一切,但它給我的錯誤

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

每當我試着運行該程序。 我正在使用visual studio 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調用,因爲它是不相關的問題

有什麼建議?我看了幾個地方,但都沒有提出明確的答案。

回答

7

gtk-3.lib不存在。事實上,庫引用不需要構建您的GTK 3應用程序。 pkg-config幫手似乎不會生成鏈接您的應用程序所需的正確鏈接器標誌。

只需在您的附加選項中添加您在GTK包(\ gtk3 \ lib)中找到的所有現有庫。我束(GTK + -bundle_3.6.4-20130921)的lib文件如下:

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

不要忘了,包括在的/ENTRY:mainCRTStartup標誌提你開始。

+0

你說得對,pkg-config正在生成對不存在的庫的引用。我可以確認,在GTK lib文件夾中指定庫(與上面列出的相同)可按預期工作。確認在VS2010上使用3.6.4。 – ManuelH

+1

對於其他編譯器錯誤,請參閱此答案:http://stackoverflow.com/questions/20883854/compiling-a-gtk3-program-in-visual-studio-2012 – tmsimont

+0

你知道從哪裏獲得gtk3包對於Windows? – sergej

0

你可能需要編輯您的項目設置或使用編譯評論你的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 
相關問題