Ошибка 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