Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Не линкуется Win API проект

Не могу подключить библиотеку comctl32. Точнее, она подключается, но:
undefined reference to `InitCommonControlsEx@4' collect2.exe: error: ld returned 1 exit status
Заголовки подключаются нормально:
#include #define _WIN32_IE 0x0600 #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

Комментариев нет:

Отправить комментарий