2012-10-01 97 views
1

此語法不正確?如何在MinWG上使用gcc鏈接

C:\Users\Brett\Compilers>gcc -I MinGW\include -l MinGW\lib\libgdi32.a -o hello 
    world helloworld.c 

目錄的都很好,我被薄霧和包括以錯誤的順序什麼的鏈接?

這裏是輸出:

c:/users/Brett/compilers/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw 
2/bin/ld.exe: cannot find -lMinGW\lib\libgdi32.a 
collect2: ld returned 1 exit status 
+1

我想我明白了。你不需要-l –

回答

1

-l開關的語法是庫的名稱,而不lib前綴和不帶擴展名。如果無法找到,則應該使用-L選項給出目錄。所以,我會寫:

gcc -I MinGW\include -L MinGW\lib -lgdi32 -o helloworld helloworld.c 

也許不需要-L,也許你還需要-mwindows告訴你希望Windows應用程序的鏈接。要明確指定一個庫文件,給它沒有任何字母選項,如:

gcc -I MinGW\include MinGW\lib\libgdi32.a -o helloworld helloworld.c 

這裏是gcc的參考:linking options