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 통화에서 주석? 몇 군데를 들여다 보았지만 아무도 명확한 대답을 찾지 못했습니다. 프로젝트 설정을 편집하거나 GTK 라이브러리와 링크하는 프라 그마 주석을 사용 할 수 있습니다

답변

7

도서관 gtk-3.lib가 존재하지 않습니다. 실제로 라이브러리 참조는 GTK 3 응용 프로그램을 빌드하는 데 필요하지 않습니다. pkg-config 도우미가 응용 프로그램을 연결하는 데 필요한 올바른 링커 플래그를 생성하지 않는 것 같습니다.

귀하의 추가 옵션 귀하의 GTK 패키지 (\ gtk3 \ 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 플래그 언급을 포함하는 것을 잊지 마세요로 시작했습니다.

+0

맞습니다. pkg-config에서 존재하지 않는 lib에 대한 참조가 생성됩니다. GTK lib 폴더에서 libs를 지정하면 (위에서 나열한 것과 같은 것) 예상대로 작동하는지 확인할 수 있습니다. VS2010에서 3.6.4로 작업을 확인했습니다. – ManuelH

+1

다른 컴파일러 오류도이 답변을 참조하십시오. http://stackoverflow.com/questions/20883854/compiling-a-gtk3-program-in-visual-studio-2012 – tmsimont

+0

gtk3 번들을 구할 수있는 곳을 알고 있습니까? 창문? – sergej

0

는 :

#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 
관련 문제