2013-11-21 3 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' 

Всякий раз, когда я пытаюсь запустить программу. Я использую визуальные студии 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). Файлы Lib для моей пачки (GTK + -bundle_3.6.4-20130921) были следующие:

ака-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 флаг в initial answer Вы начали с.

+0

Вы правы, pkg-config создает ссылки на несуществующие библиотеки. Я могу подтвердить, что указание libs в папке GTK lib (те же, что указаны выше) работает так, как ожидалось. Подтверждена работа с 3.6.4 на VS2010. – ManuelH

+1

для других ошибок компилятора, см. Также этот ответ: http://stackoverflow.com/questions/20883854/compiling-a-gtk3-program-in-visual-studio-2012 – tmsimont

+0

Вы знаете, где взять пакет gtk3 для окон? – 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 
Смежные вопросы