2013-05-14 84 views
2

我發現了一個例子,其中應該以某種方式鏈接gdi32.lib,但我不知道如何從GCC命令行執行此操作。我發現的所有示例都建議在MS Visual Studio或Eclipse的項目屬性中的某個位置執行此操作。如何從命令行添加gdi32.lib

bsod.cpp

#include <windows.h> 
int main() { 
    HDC dc = CreateCompatibleDC (NULL); 
    SetLayout (dc, LAYOUT_RTL); 
    ScaleWindowExtEx (dc, -2147483647 - 1, -1, 1, 1, NULL); 
} 

我的GCC編譯器是由紅寶石開發工具包(好像是MinGW的)。

回答

6

只需添加這鏈接命令行:

-lgdi32 

這樣如您的鏈接線看起來像

gcc -o executable somemain.o -lgdi32 

確保庫後任何需要它指定


例如,如果有一個名爲myprog.cpp一個C++源文件,你可以運行

g++ -o myprog myprog.cpp -lgdi32 

或者單獨的命令

g++ -c myprog.cpp 
g++ -o myprog myprog.o -lgdi32 

您可以添加優化或調試選項前兩個命令。鏈接命令並不需要其他任何東西。

+0

所以,我有'myprog.cpp'。命令行應該是什麼?我之前所做的只是'gcc myprog.cpp' – Paul 2013-05-14 15:16:44

+0

rubenvb:我照你的建議做了,但得到了:'錯誤:'SetLayout'未在此範圍內聲明。 SetLayout在gdi32中聲明。 – Paul 2013-05-14 15:50:48

+0

@Paul那是一個編譯器錯誤。它不可能與gdi32庫文件有任何關係。你忘了包括''嗎? – rubenvb 2013-05-14 16:53:56