#412·libui

Alpha-4 static MSVC2017 doesn't work with `cl`

Author: hanyuoneCreated Aug 17, 2018Updated Sep 6, 2024

I'm using the x64 Native Tools Command Prompt for VS 2017, and I'm trying to convert a .o file generated via Crystal code (code here, the .o file generated using these instructions).

I have the libui.lib from the release file for 64-bit VS 2017, and I've copied it into C:\Crystal, along with other lib files required for Crystal (gc.lib, pcre.lib) and control_gallery.o. However, once I run the cl command, it doesn't work and raises LNK2001 and LNK2019 errors.

Here is my folder structure:

error

Here is the full error log:

C:\Crystal>cl control_gallery.o /Fecontrol_gallery gc.lib pcre.lib libui.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26726 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line warning D9024 : unrecognized source file type 'control_gallery.o', object file assumed
Microsoft (R) Incremental Linker Version 14.15.26726.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:control_gallery.exe
control_gallery.o
gc.lib
pcre.lib
libui.lib
   Creating library control_gallery.lib and object control_gallery.exp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
libui.lib(image.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(events.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(fontmatch.obj) : warning LNK4217: locally defined symbol _invalid_parameter_noinfo_noreturn imported in function "protected: void __cdecl std::_Tree<class std::_Tmap_traits<unsigned int,enum DWRITE_FONT_STYLE,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,enum DWRITE_FONT_STYLE> >,0> >::_Erase(struct std::_Tree_node<struct std::pair<unsigned int const ,enum DWRITE_FONT_STYLE>,void *> *)" (?_Erase@?$_Tree@V?$_Tmap_traits@IW4DWRITE_FONT_STYLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIW4DWRITE_FONT_STYLE@@@std@@@3@$0A@@std@@@std@@IEAAXPEAU?$_Tree_node@U?$pair@$$CBIW4DWRITE_FONT_STYLE@@@std@@PEAX@2@@Z)
libui.lib(colordialog.obj) : warning LNK4217: locally defined symbol _invalid_parameter_noinfo_noreturn imported in function "__int64 __cdecl hSliderSubProc(struct HWND__ *,unsigned int,unsigned __int64,__int64,unsigned __int64,unsigned __int64)" (?hSliderSubProc@@YA_JPEAUHWND__@@I_K_J11@Z)
libui.lib(tab.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(alloc.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(utf16.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(draw.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(window.obj) : warning LNK4217: locally defined symbol _invalid_parameter_noinfo_noreturn imported in function "public: void __cdecl std::allocator<struct std::_Tree_node<struct std::pair<struct uiWindow * const,bool>,void *> >::deallocate(struct std::_Tree_node<struct std::pair<struct uiWindow * const,bool>,void *> * const,unsigned __int64)" (?deallocate@?$allocator@U?$_Tree_node@U?$pair@QEAUuiWindow@@_N@std@@PEAX@std@@@std@@QEAAXQEAU?$_Tree_node@U?$pair@QEAUuiWindow@@_N@std@@PEAX@2@_K@Z)
libui.lib(main.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(box.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(radiobuttons.obj) : warning LNK4049: locally defined symbol _invalid_parameter_noinfo_noreturn imported
libui.lib(utf16.obj) : warning LNK4217: locally defined symbol wcscpy_s imported in function "wchar_t * __cdecl utf16dup(wchar_t const *)" (?utf16dup@@YAPEA_WPEB_W@Z)
libui.lib(utf16.obj) : warning LNK4217: locally defined symbol __stdio_common_vswprintf imported in function "wchar_t * __cdecl strf(wchar_t const *,...)" (?strf@@YAPEA_WPEB_WZZ)
libui.lib(fontdialog.obj) : warning LNK4049: locally defined symbol __stdio_common_vswprintf imported
libui.lib(utf16.obj) : warning LNK4217: locally defined symbol __stdio_common_vswprintf_s imported in function "wchar_t * __cdecl strf(wchar_t const *,...)" (?strf@@YAPEA_WPEB_WZZ)
libui.lib(debug.cpp.obj) : warning LNK4217: locally defined symbol __stdio_common_vsprintf imported in function uiprivRealBug
libui.lib(debug.cpp.obj) : warning LNK4217: locally defined symbol __stdio_common_vsprintf_s imported in function uiprivRealBug
libui.lib(text.obj) : warning LNK4217: locally defined symbol _wcsicmp imported in function uiprivStricmp
libui.lib(winutil.obj) : warning LNK4049: locally defined symbol _wcsicmp imported
libui.lib(colordialog.obj) : warning LNK4217: locally defined symbol _wtoi imported in function "void __cdecl aIntChanged(struct colorDialog *)" (?aIntChanged@@YAXPEAUcolorDialog@@@Z)
control_gallery.o : error LNK2019: unresolved external symbol SystemFunction036 referenced in function .2A.Slice.28.UInt8.29..40.Slice.28.T.29..23.initialize.3C.Pointer.28.UInt8.29..2C..20.Int32.3E..3A.Int32
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_CreateFontIndirectW referenced in function uiInit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_DeleteObject referenced in function uiUninit
libui.lib(image.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject
libui.lib(parent.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_GetStockObject referenced in function uiInit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_LoadCursorW referenced in function uiInit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_LoadIconW referenced in function uiInit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_SystemParametersInfoW referenced in function uiInit
libui.lib(areascroll.obj) : error LNK2001: unresolved external symbol __imp_SystemParametersInfoW
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_CoUninitialize referenced in function uiUninit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_CoInitialize referenced in function uiInit
libui.lib(init.obj) : error LNK2019: unresolved external symbol __imp_InitCommonControlsEx referenced in function uiInit
libui.lib(menu.obj) : error LNK2019: unresolved external symbol __imp_CreateMenu referenced in function "struct HMENU__ * __cdecl makeMenubar(void)" (?makeMenubar@@YAPEAUHMENU__@@XZ)
libui.lib(menu.obj) : error LNK2019: unresolved external symbol __imp_CreatePopupMenu referenced in function "struct HMENU__ * __cdecl makeMenubar(void)" (?makeMenubar@@YAPEAUHMENU__@@XZ)
libui.lib(menu.obj) : error LNK2019: unresolved external symbol __imp_AppendMenuW referenced in function "struct HMENU__ * __cdecl makeMenubar(void)" (?makeMenubar@@YAPEAUHMENU__@@XZ)
libui.lib(menu.obj) : error LNK2019: unresolved external symbol __imp_GetMenuItemInfoW referenced in function "void __cdecl freeMenubar(struct HMENU__ *)" (?freeMenubar@@YAXPEAUHMENU__@@@Z)
libui.lib(menu.obj) : error LNK2019: unresolved external symbol __imp_SetMenuItemInfoW referenced in function "void __cdecl sync(struct uiMenuItem *)" (?sync@@YAXPEAUuiMenuItem@@@Z)
libui.lib(tabpage.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(areaevents.cpp.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(events.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(fontdialog.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(colordialog.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(control.cpp.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(text.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(winutil.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(parent.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(radiobuttons.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(tab.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(slider.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(progressbar.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(combobox.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(editablecombo.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(datetimepicker.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(fontbutton.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(colorbutton.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(spinbox.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(button.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(checkbox.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(entry.obj) : error LNK2001: unresolved external symbol __imp_SendMessageW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(container.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(group.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(utilwin.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_DefWindowProcW
libui.lib(container.obj) : error LNK2001: unresolved external symbol __imp_RegisterClassW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_RegisterClassW
libui.lib(utilwin.obj) : error LNK2001: unresolved external symbol __imp_RegisterClassW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_RegisterClassW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_RegisterClassW
libui.lib(container.obj) : error LNK2001: unresolved external symbol __imp_UnregisterClassW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_UnregisterClassW
libui.lib(utilwin.obj) : error LNK2001: unresolved external symbol __imp_UnregisterClassW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_UnregisterClassW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_UnregisterClassW
libui.lib(control.cpp.obj) : error LNK2001: unresolved external symbol __imp_CreateWindowExW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_CreateWindowExW
libui.lib(spinbox.obj) : error LNK2001: unresolved external symbol __imp_CreateWindowExW
libui.lib(utilwin.obj) : error LNK2001: unresolved external symbol __imp_CreateWindowExW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_CreateWindowExW
libui.lib(radiobuttons.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(tab.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(tabpage.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(slider.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(progressbar.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(combobox.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(editablecombo.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(datetimepicker.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(fontbutton.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(colorbutton.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(spinbox.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(checkbox.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(entry.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(label.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(separator.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(box.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(group.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(button.obj) : error LNK2001: unresolved external symbol __imp_ShowWindow
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_SetWindowPos referenced in function "void __cdecl ensureMinimumWindowSize(struct uiWindow *)" (?ensureMinimumWindowSize@@YAXPEAUuiWindow@@@Z)
libui.lib(winpublic.obj) : error LNK2001: unresolved external symbol __imp_SetWindowPos
libui.lib(winutil.obj) : error LNK2001: unresolved external symbol __imp_SetWindowPos
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_GetWindowPlacement referenced in function uiWindowSetFullscreen
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_SetWindowPlacement referenced in function uiWindowSetFullscreen
libui.lib(tab.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(utilwin.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(progressbar.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(combobox.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(editablecombo.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(radiobuttons.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(fontbutton.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(colorbutton.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(spinbox.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(slider.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(entry.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(label.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(separator.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(datetimepicker.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(group.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(button.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(checkbox.obj) : error LNK2001: unresolved external symbol __imp_EnableWindow
libui.lib(areaevents.cpp.obj) : error LNK2001: unresolved external symbol __imp_GetSystemMetrics
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_GetSystemMetrics
libui.lib(button.obj) : error LNK2001: unresolved external symbol __imp_GetSystemMetrics
libui.lib(fontbutton.obj) : error LNK2001: unresolved external symbol __imp_GetSystemMetrics
libui.lib(colorbutton.obj) : error LNK2001: unresolved external symbol __imp_GetSystemMetrics
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_SetMenu referenced in function uiNewWindow
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_UpdateWindow referenced in function "void __cdecl uiWindowShow(struct uiControl *)" (?uiWindowShow@@YAXPEAUuiControl@@@Z)
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_AdjustWindowRectEx referenced in function uiNewWindow
libui.lib(winutil.obj) : error LNK2001: unresolved external symbol __imp_AdjustWindowRectEx
libui.lib(tabpage.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(container.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(winutil.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(fontdialog.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(colordialog.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(editablecombo.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_GetWindowLongPtrW
libui.lib(tabpage.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(winpublic.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(winutil.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(fontdialog.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(colordialog.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(window.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(d2dscratch.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(area.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(container.obj) : error LNK2001: unresolved external symbol __imp_SetWindowLongPtrW
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_MonitorFromWindow referenced in function uiWindowSetFullscreen
libui.lib(window.obj) : error LNK2019: unresolved external symbol __imp_GetMonitorInfoW referenced in function uiWindowSetFullscreen
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_GetMessageW referenced in function uiMain
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_TranslateMessage referenced in function uiMain
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_DispatchMessageW referenced in function uiMain
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_PeekMessageW referenced in function uiMainStep
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_PostMessageW referenced in function uiQueueMain
libui.lib(editablecombo.obj) : error LNK2001: unresolved external symbol __imp_PostMessageW
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_PostQuitMessage referenced in function uiQuit
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_GetActiveWindow referenced in function uiMain
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_SetTimer referenced in function uiTimer
libui.lib(main.obj) : error LNK2019: unresolved external symbol __imp_SetWindowsHookExW referenced in function "int __cdecl registerMessageFilter(void)" (?registerMessageFilter@@YAHXZ)
libui.lib(