Не могу подключить библиотеку comctl32. Точнее, она подключается, но:
undefined reference to `InitCommonControlsEx@4'
collect2.exe: error: ld returned 1 exit status
Заголовки подключаются нормально:
#include
Сама библиотека лежит здесь:
C:\MinGW\lib\libcomctl32.a
Собираю так:
gcc.exe -std=c11 -m32 -Wall -Wextra -Wpedantic -mwindows -lcomctl32 -lbass main.c -o main.exe
Пробовал обновлять MinGW - безрезультатно.
ОС: Windows 10 x64
Компилятор: gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
UPD
Может это поможет:
nm C:\MinGW\lib\libcomctl32.a > nm_results.txt
dvbpbt.o:
00000000 I __libcomctl32_a_iname
dvbpbh.o:
00000000 i .idata$4
00000000 i .idata$5
00000000 I __head_libcomctl32_a
U __libcomctl32_a_iname
dvbpbs00113.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp___TrackMouseEvent@4
00000000 T __TrackMouseEvent@4
dvbpbs00112.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Str_SetPtrW@8
00000000 T _Str_SetPtrW@8
dvbpbs00111.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Str_SetPtrA@8
00000000 T _Str_SetPtrA@8
dvbpbs00110.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Str_GetPtrW@12
00000000 T _Str_GetPtrW@12
dvbpbs00109.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Str_GetPtrA@12
00000000 T _Str_GetPtrA@12
dvbpbs00108.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ShowHideMenuCtl@12
00000000 T _ShowHideMenuCtl@12
dvbpbs00107.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__SetWindowSubclass@16
00000000 T _SetWindowSubclass@16
dvbpbs00106.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__SendNotifyEx@20
00000000 T _SendNotifyEx@20
dvbpbs00105.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__SendNotify@16
00000000 T _SendNotify@16
dvbpbs00104.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__RemoveWindowSubclass@12
00000000 T _RemoveWindowSubclass@12
dvbpbs00103.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ReAlloc@8
00000000 T _ReAlloc@8
dvbpbs00102.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__PropertySheetW@4
00000000 T _PropertySheetW@4
dvbpbs00101.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__PropertySheetA@4
00000000 T _PropertySheetA@4
dvbpbs00100.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__PropertySheet@4
00000000 T _PropertySheet@4
dvbpbs00099.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__MenuHelp@28
00000000 T _MenuHelp@28
dvbpbs00098.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__MakeDragList@4
00000000 T _MakeDragList@4
dvbpbs00097.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__LBItemFromPt@16
00000000 T _LBItemFromPt@16
dvbpbs00096.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__InitMUILanguage@4
00000000 T _InitMUILanguage@4
dvbpbs00095.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__InitCommonControlsEx@4
00000000 T _InitCommonControlsEx@4
dvbpbs00094.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__InitCommonControls@0
00000000 T _InitCommonControls@0
dvbpbs00093.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Write@8
00000000 T _ImageList_Write@8
dvbpbs00092.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_SetOverlayImage@12
00000000 T _ImageList_SetOverlayImage@12
dvbpbs00091.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_SetImageCount@8
00000000 T _ImageList_SetImageCount@8
dvbpbs00090.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_SetIconSize@12
00000000 T _ImageList_SetIconSize@12
dvbpbs00089.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_SetDragCursorImage@16
00000000 T _ImageList_SetDragCursorImage@16
dvbpbs00088.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_SetBkColor@8
00000000 T _ImageList_SetBkColor@8
dvbpbs00087.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_ReplaceIcon@12
00000000 T _ImageList_ReplaceIcon@12
dvbpbs00086.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Replace@16
00000000 T _ImageList_Replace@16
dvbpbs00085.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Remove@8
00000000 T _ImageList_Remove@8
dvbpbs00084.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Read@4
00000000 T _ImageList_Read@4
dvbpbs00083.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Merge@24
00000000 T _ImageList_Merge@24
dvbpbs00082.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_LoadImageW@28
00000000 T _ImageList_LoadImageW@28
dvbpbs00081.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_LoadImageA@28
00000000 T _ImageList_LoadImageA@28
dvbpbs00080.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_LoadImage@28
00000000 T _ImageList_LoadImage@28
dvbpbs00079.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetImageRect@12
00000000 T _ImageList_GetImageRect@12
dvbpbs00078.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetImageInfo@12
00000000 T _ImageList_GetImageInfo@12
dvbpbs00077.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetImageCount@4
00000000 T _ImageList_GetImageCount@4
dvbpbs00076.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetIconSize@12
00000000 T _ImageList_GetIconSize@12
dvbpbs00075.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetIcon@12
00000000 T _ImageList_GetIcon@12
dvbpbs00074.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetDragImage@8
00000000 T _ImageList_GetDragImage@8
dvbpbs00073.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_GetBkColor@4
00000000 T _ImageList_GetBkColor@4
dvbpbs00072.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_EndDrag@0
00000000 T _ImageList_EndDrag@0
dvbpbs00071.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Duplicate@4
00000000 T _ImageList_Duplicate@4
dvbpbs00070.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DrawIndirect@4
00000000 T _ImageList_DrawIndirect@4
dvbpbs00069.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DrawEx@40
00000000 T _ImageList_DrawEx@40
dvbpbs00068.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Draw@24
00000000 T _ImageList_Draw@24
dvbpbs00067.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DragShowNolock@4
00000000 T _ImageList_DragShowNolock@4
dvbpbs00066.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DragMove@8
00000000 T _ImageList_DragMove@8
dvbpbs00065.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DragLeave@4
00000000 T _ImageList_DragLeave@4
dvbpbs00064.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_DragEnter@12
00000000 T _ImageList_DragEnter@12
dvbpbs00063.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Destroy@4
00000000 T _ImageList_Destroy@4
dvbpbs00062.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Create@20
00000000 T _ImageList_Create@20
dvbpbs00061.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Copy@20
00000000 T _ImageList_Copy@20
dvbpbs00060.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_BeginDrag@16
00000000 T _ImageList_BeginDrag@16
dvbpbs00059.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_AddMasked@12
00000000 T _ImageList_AddMasked@12
dvbpbs00058.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_AddIcon@8
00000000 T _ImageList_AddIcon@8
dvbpbs00057.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__ImageList_Add@12
00000000 T _ImageList_Add@12
dvbpbs00056.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__GetWindowSubclass@16
00000000 T _GetWindowSubclass@16
dvbpbs00055.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__GetSize@4
00000000 T _GetSize@4
dvbpbs00054.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__GetMUILanguage@0
00000000 T _GetMUILanguage@0
dvbpbs00053.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__GetEffectiveClientRect@12
00000000 T _GetEffectiveClientRect@12
dvbpbs00052.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__FreeMRUList@4
00000000 T _FreeMRUList@4
dvbpbs00051.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Free@4
00000000 T _Free@4
dvbpbs00050.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__FindMRUStringW@12
00000000 T _FindMRUStringW@12
dvbpbs00049.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__FindMRUStringA@12
00000000 T _FindMRUStringA@12
dvbpbs00048.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__FindMRUData@16
00000000 T _FindMRUData@16
dvbpbs00047.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__EnumMRUListW@16
00000000 T _EnumMRUListW@16
dvbpbs00046.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__EnumMRUListA@16
00000000 T _EnumMRUListA@16
dvbpbs00045.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DrawStatusTextW@16
00000000 T _DrawStatusTextW@16
dvbpbs00044.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DrawStatusTextA@16
00000000 T _DrawStatusTextA@16
dvbpbs00043.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DrawStatusText@16
00000000 T _DrawStatusText@16
dvbpbs00042.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DrawInsert@12
00000000 T _DrawInsert@12
dvbpbs00041.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DestroyPropertySheetPage@4
00000000 T _DestroyPropertySheetPage@4
dvbpbs00040.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DelMRUString@8
00000000 T _DelMRUString@8
dvbpbs00039.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DefSubclassProc@16
00000000 T _DefSubclassProc@16
dvbpbs00038.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_SetItem@12
00000000 T _DSA_SetItem@12
dvbpbs00037.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_InsertItem@12
00000000 T _DSA_InsertItem@12
dvbpbs00036.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_GetItemPtr@8
00000000 T _DSA_GetItemPtr@8
dvbpbs00035.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_GetItem@12
00000000 T _DSA_GetItem@12
dvbpbs00034.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_Destroy@4
00000000 T _DSA_Destroy@4
dvbpbs00033.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_DeleteItem@8
00000000 T _DSA_DeleteItem@8
dvbpbs00032.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_DeleteAllItems@4
00000000 T _DSA_DeleteAllItems@4
dvbpbs00031.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DSA_Create@8
00000000 T _DSA_Create@8
dvbpbs00030.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Sort@12
00000000 T _DPA_Sort@12
dvbpbs00029.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_SetPtr@12
00000000 T _DPA_SetPtr@12
dvbpbs00028.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Search@24
00000000 T _DPA_Search@24
dvbpbs00027.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_InsertPtr@12
00000000 T _DPA_InsertPtr@12
dvbpbs00026.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Grow@8
00000000 T _DPA_Grow@8
dvbpbs00025.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_GetPtrIndex@8
00000000 T _DPA_GetPtrIndex@8
dvbpbs00024.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_GetPtr@8
00000000 T _DPA_GetPtr@8
dvbpbs00023.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Destroy@4
00000000 T _DPA_Destroy@4
dvbpbs00022.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_DeletePtr@8
00000000 T _DPA_DeletePtr@8
dvbpbs00021.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_DeleteAllPtrs@4
00000000 T _DPA_DeleteAllPtrs@4
dvbpbs00020.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_CreateEx@8
00000000 T _DPA_CreateEx@8
dvbpbs00019.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Create@4
00000000 T _DPA_Create@4
dvbpbs00018.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__DPA_Clone@8
00000000 T _DPA_Clone@8
dvbpbs00017.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateUpDownControl@48
00000000 T _CreateUpDownControl@48
dvbpbs00016.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateToolbarEx@52
00000000 T _CreateToolbarEx@52
dvbpbs00015.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateToolbar@32
00000000 T _CreateToolbar@32
dvbpbs00014.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateStatusWindowW@16
00000000 T _CreateStatusWindowW@16
dvbpbs00013.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateStatusWindowA@16
00000000 T _CreateStatusWindowA@16
dvbpbs00012.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateStatusWindow@16
00000000 T _CreateStatusWindow@16
dvbpbs00011.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateProxyPage@8
00000000 T _CreateProxyPage@8
dvbpbs00010.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreatePropertySheetPageW@4
00000000 T _CreatePropertySheetPageW@4
dvbpbs00009.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreatePropertySheetPageA@4
00000000 T _CreatePropertySheetPageA@4
dvbpbs00008.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreatePropertySheetPage@4
00000000 T _CreatePropertySheetPage@4
dvbpbs00007.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreatePage@8
00000000 T _CreatePage@8
dvbpbs00006.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateMappedBitmap@20
00000000 T _CreateMappedBitmap@20
dvbpbs00005.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateMRUListW@4
00000000 T _CreateMRUListW@4
dvbpbs00004.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__CreateMRUListA@4
00000000 T _CreateMRUListA@4
dvbpbs00003.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__Alloc@4
00000000 T _Alloc@4
dvbpbs00002.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__AddMRUStringW@8
00000000 T _AddMRUStringW@8
dvbpbs00001.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__AddMRUStringA@8
00000000 T _AddMRUStringA@8
dvbpbs00000.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__AddMRUData@12
00000000 T _AddMRUData@12
Упоминание InitCommonControlsEx@4 из верхнего листинга:
dvbpbs00095.o:
00000000 i .idata$5
00000000 i .idata$6
U __head_libcomctl32_a
00000000 I __imp__InitCommonControlsEx@4
00000000 T _InitCommonControlsEx@4
Пробовал скачивать разные версии libcomctl32.a отсюда: https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/. Безрезультатно.
UPD 2
Вывод nm для main.exe
nm main.exe
00000000 b .bss
00000000 d .data
00000000 i .drectve
00000000 r .eh_frame
00000000 r .rdata
00000000 r .rdata$zzz
00000000 t .text
U ___mingw_vprintf
00000004 C _BASS_Apply3D
00000004 C _BASS_ChannelBytes2Seconds
00000004 C _BASS_ChannelFlags
00000004 C _BASS_ChannelGet3DAttributes
00000004 C _BASS_ChannelGet3DPosition
00000004 C _BASS_ChannelGetAttribute
00000004 C _BASS_ChannelGetData
00000004 C _BASS_ChannelGetDevice
00000004 C _BASS_ChannelGetInfo
00000004 C _BASS_ChannelGetLength
00000004 C _BASS_ChannelGetLevel
00000004 C _BASS_ChannelGetPosition
00000004 C _BASS_ChannelGetTags
00000004 C _BASS_ChannelIsActive
00000004 C _BASS_ChannelIsSliding
00000004 C _BASS_ChannelLock
00000004 C _BASS_ChannelPause
00000004 C _BASS_ChannelPlay
00000004 C _BASS_ChannelRemoveDSP
00000004 C _BASS_ChannelRemoveFX
00000004 C _BASS_ChannelRemoveLink
00000004 C _BASS_ChannelRemoveSync
00000004 C _BASS_ChannelSeconds2Bytes
00000004 C _BASS_ChannelSet3DAttributes
00000004 C _BASS_ChannelSet3DPosition
00000004 C _BASS_ChannelSetAttribute
00000004 C _BASS_ChannelSetDevice
00000004 C _BASS_ChannelSetDSP
00000004 C _BASS_ChannelSetFX
00000004 C _BASS_ChannelSetLink
00000004 C _BASS_ChannelSetPosition
00000004 C _BASS_ChannelSetSync
00000004 C _BASS_ChannelSlideAttribute
00000004 C _BASS_ChannelStop
00000004 C _BASS_ChannelUpdate
00000004 C _BASS_ErrorGetCode
00000004 C _BASS_Free
00000004 C _BASS_FXGetParameters
00000004 C _BASS_FXReset
00000004 C _BASS_FXSetParameters
00000004 C _BASS_Get3DFactors
00000004 C _BASS_Get3DPosition
00000004 C _BASS_GetConfig
00000004 C _BASS_GetConfigPtr
00000004 C _BASS_GetCPU
00000004 C _BASS_GetDevice
00000004 C _BASS_GetDeviceInfo
00000004 C _BASS_GetDSoundObject
00000004 C _BASS_GetEAXParameters
00000004 C _BASS_GetInfo
00000004 C _BASS_GetVersion
00000004 C _BASS_GetVolume
00000004 C _BASS_Init
00000004 C _BASS_MusicFree
00000004 C _BASS_MusicLoad
00000004 C _BASS_Pause
00000004 C _BASS_PluginFree
00000004 C _BASS_PluginGetInfo
00000004 C _BASS_PluginLoad
00000004 C _BASS_RecordFree
00000004 C _BASS_RecordGetDevice
00000004 C _BASS_RecordGetDeviceInfo
00000004 C _BASS_RecordGetInfo
00000004 C _BASS_RecordGetInput
00000004 C _BASS_RecordGetInputName
00000004 C _BASS_RecordInit
00000004 C _BASS_RecordSetDevice
00000004 C _BASS_RecordSetInput
00000004 C _BASS_RecordStart
00000004 C _BASS_SampleCreate
00000004 C _BASS_SampleFree
00000004 C _BASS_SampleGetChannel
00000004 C _BASS_SampleGetChannels
00000004 C _BASS_SampleGetData
00000004 C _BASS_SampleGetInfo
00000004 C _BASS_SampleLoad
00000004 C _BASS_SampleSetData
00000004 C _BASS_SampleSetInfo
00000004 C _BASS_SampleStop
00000004 C _BASS_Set3DFactors
00000004 C _BASS_Set3DPosition
00000004 C _BASS_SetConfig
00000004 C _BASS_SetConfigPtr
00000004 C _BASS_SetDevice
00000004 C _BASS_SetEAXParameters
00000004 C _BASS_SetVolume
00000004 C _BASS_Start
00000004 C _BASS_Stop
00000004 C _BASS_StreamCreate
00000004 C _BASS_StreamCreateFile
00000004 C _BASS_StreamCreateFileUser
00000004 C _BASS_StreamCreateURL
00000004 C _BASS_StreamFree
00000004 C _BASS_StreamGetFilePosition
00000004 C _BASS_StreamPutData
00000004 C _BASS_StreamPutFileData
00000004 C _BASS_Update
U _CreateWindowExW@48
00000220 D _current_sound
U _DefWindowProcW@16
U _DispatchMessageA@4
U _exit
00000020 D _genres
U _GetMessageA@16
U _GetProcAddress@8
U _GetSysColorBrush@4
U _InitCommonControlsEx@4
U _LoadCursorA@8
U _LoadLibraryA@4
U _malloc
0000001c C _msg
U _PostQuitMessage@4
00000000 t _printf
0000022a T _qk_CheckBASSVersion
00000004 C _qk_cmd_line
00000004 C _qk_cmd_show
000008b2 T _qk_CreateMainWindow
00000782 T _qk_DecreasePos
000004b0 T _qk_DecreaseVol
000002ef T _qk_GetCPULoad
0000082a T _qk_GetSoundAlbum
0000080d T _qk_GetSoundArtist
00000698 T _qk_GetSoundCurrentMinute
000006b1 T _qk_GetSoundCurrentSecond
00000864 T _qk_GetSoundGenre
000005ea T _qk_GetSoundLengthInBytes
000005fa T _qk_GetSoundLengthInSeconds
00000604 T _qk_GetSoundPosInBytes
00000627 T _qk_GetSoundPosInSeconds
00000413 T _qk_GetSoundState
000007f0 T _qk_GetSoundTitle
00000847 T _qk_GetSoundYear
0000041d T _qk_GetVol
00000004 C _qk_hinstance
00000718 T _qk_IncreasePos
0000044f T _qk_IncreaseVol
00000279 T _qk_InitBASS
00000029 T _qk_LoadBASSFunctions
00000318 T _qk_LoadSound
0000050f t _qk_LoadSoundLength
00000260 D _qk_main_win_title
00000018 C _qk_main_window
000003ed T _qk_PauseSound
000003bf T _qk_PlaySound
00000004 C _qk_sample_rate
000006d5 T _qk_SetPos
0000030a T _qk_SetSampleRate
U _RegisterClassW@4
U _SendMessageW@16
00000004 D _tags_unknown_album
00000008 D _tags_unknown_artist
0000000c D _tags_unknown_title
00000000 D _tags_unknown_year
U _TranslateMessage@4
U _wcscpy
U _wcslen
00000ce9 T _WinMain@16
00000a02 T _WndProc@16
Из верхнего листинга:
00000020 D _genres
U _GetMessageA@16
U _GetProcAddress@8
U _GetSysColorBrush@4
U _InitCommonControlsEx@4 <-----------------
U _LoadCursorA@8
U _LoadLibraryA@4
U _malloc
Ответ
В общем, нашел решение здесь здесь
-lcomctl32 -luxtheme
Put these after main.cpp
Т.е., в моем случае:
Было:
gcc.exe -std=c11 -m32 -Wall -Wextra -Wpedantic -mwindows -lcomctl32 -lbass main.c -o main.exe
Стало:
gcc.exe -std=c11 -m32 -Wall -Wextra -Wpedantic -mwindows -lbass main.c -lcomctl32 -o main.exe
Поместил -lcomctl32 после main.c
Комментариев нет:
Отправить комментарий