2012-01-27 16 views
0

我使用MinGW的32位窗口。我使用Windows常用控件,因此我必須從Windows API調用InitCommonControlsEx()。 MinGW鏈接器無法找到此功能,即使我明確鏈接到Commctrl.lib(或minGW .a版本libcomctl32.a)。MinGW庫中的窗口api函數InitCommonControlsEx()在哪裏

我在哪裏可以找到正確的InitCommonControlsEx()的導入庫?

+0

你的意思是鏈接對Comctl32.lib,而不是commctrl.lib? – 2012-01-27 15:48:35

+0

MinGW系統有一個不同的命名約定,但我試圖找出正確的名稱。 – 2012-01-27 15:50:11

+1

正確的名字是libcomctl32.a,你可以看到如果你做了一個'objdump -t libcomctl32.a'。你確定這是一個鏈接錯誤嗎?你有什麼版本的MinGW?你用什麼命令行來編譯和鏈接? – tinman 2012-01-27 16:40:08

回答

1

,如果你要鏈接libcomctl32.a,那麼你需要省略「LIB」 &「一」,然後將其轉換爲-l

例子:

-lcomctl32 

這僅適用於gnu gcc及其衍生產品(Cygwin,Mingw,Clang等)。 但在MSVC & C-Builder上,庫名不會被轉換,因此您可以直接將Comctl32.lib傳遞給鏈接器。