Ошибка 3 ошибка LNK1104: не удается открыть файл 'gtk-3.lib'

Я пытался заставить GTK 3.0 работать, и прошел все шаги здесь

Как настроить GTK на 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, потому что он не имеет отношения к проблеме

какие-либо предложения? Я посмотрел в нескольких местах, но ни один не дал четких ответов.

2 ответа

Решение

Библиотека 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)

Не забудьте включить /ENTRY:mainCRTStartup Отметьте упоминание в первоначальном ответе, с которого вы начали.

Вам, возможно, придется изменить настройки вашего проекта или использовать прагматический комментарий для связи с вашей библиотекой 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
Другие вопросы по тегам