Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: MadDavid on July 23, 2026, 07:39:29 pm

Title: Building Code::Blocks 25.03, can't find exchndl.dll
Post by: MadDavid on July 23, 2026, 07:39:29 pm
I'm trying to build Code::Blocks 25.03

Everything builds until this one:
-------------- Build: src in Code::Blocks wx3.2.x (64 bit) (compiler: GNU GCC Compiler)---------------
Quote
Running target pre-build steps
cmd /c if exist devel32_64\exchndl.dll del devel32_64\exchndl.dll
[WHOLE BUNCH OF mingw g++.exe calls that are collectively too long to include]
E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\associations.cpp: In function 'void Associations::DoClearAssociation(const wxString&)':
E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\associations.cpp:206: note: -Wmisleading-indentation is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers
     wxRegKey key; // defaults to HKCR
 
In file included from E:/Compilers/CodeBlocks/MinGW/x86_64-w64-mingw32/include/shlobj.h:124,
                 from E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\crashhandler.cpp:24:
E:/Compilers/CodeBlocks/MinGW/x86_64-w64-mingw32/include/shobjidl.h: In function 'HRESULT SHLoadLibraryFromItem(IShellItem*, DWORD, const IID&, void**)':
E:/Compilers/CodeBlocks/MinGW/x86_64-w64-mingw32/include/shobjidl.h:39360: note: -Wmisleading-indentation is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers
       plib->Release();
 
windres.exe -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -DcbDPI_AWARE_ON  -J rc -O coff -i E:\COMPIL~1\CODEBL~2\CODEBL~2.03\src\src\RESOUR~1\RESOUR~1.RC -o .objs32_64\src\resources\resources.res
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\scriptconsole.cpp" -o .objs32_64\src\scriptconsole.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\scriptingsettingsdlg.cpp" -o .objs32_64\src\scriptingsettingsdlg.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\splashscreen.cpp" -o .objs32_64\src\splashscreen.o
E:\COMPIL~1\CODEBL~2\CODEBL~2.03\src\src\RESOUR~1\RESOUR~1.RC:136:10: warning: #warning Manifest: amd64_dpi_aware_on.manifest [-Wcpp]
         #warning Manifest: amd64_dpi_aware_on.manifest
          ^~~~~~~
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\startherepage.cpp" -o .objs32_64\src\startherepage.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\switcherdlg.cpp" -o .objs32_64\src\switcherdlg.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\threadsdlg.cpp" -o .objs32_64\src\threadsdlg.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\uservardlgs.cpp" -o .objs32_64\src\uservardlgs.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\virtualbuildtargetsdlg.cpp" -o .objs32_64\src\virtualbuildtargetsdlg.o
x86_64-w64-mingw32-g++.exe -Wall -std=gnu++11 -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -D_WIN64 -DBUILDING_PLUGIN -Winit-self -Wmain -std=c++11 -fpermissive -fno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-unknown-pragmas -Wno-comment -Wno-main -mthreads -iquote.objs32_64\include -I.objs32_64\include -I. -IE:\Compilers\wxWidgets-3.2.4\include -IE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iexchndl\win64\include -c "E:\Compilers\CodeBlocks source\codeblocks_25.03\src\src\watchesdlg.cpp" -o .objs32_64\src\watchesdlg.o
x86_64-w64-mingw32-g++.exe -LE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll -Ldevel32_64 -Lexchndl\win64\lib -o devel32_64\codeblocks.exe .objs32_64\src\app.o .objs32_64\src\appglobals.o .objs32_64\src\associations.o .objs32_64\src\backtracedlg.o .objs32_64\src\breakpointsdlg.o .objs32_64\src\compilersettingsdlg.o .objs32_64\src\cpuregistersdlg.o .objs32_64\src\crashhandler.o .objs32_64\src\debugger_interface_creator.o .objs32_64\src\debuggermenu.o .objs32_64\src\debuggersettingscommonpanel.o .objs32_64\src\debuggersettingsdlg.o .objs32_64\src\debuggersettingspanel.o .objs32_64\src\disassemblydlg.o .objs32_64\src\dlgabout.o .objs32_64\src\dlgaboutplugin.o .objs32_64\src\editkeywordsdlg.o .objs32_64\src\editorconfigurationdlg.o .objs32_64\src\editprojectglobsdlg.o .objs32_64\src\environmentsettingsdlg.o .objs32_64\src\examinememorydlg.o .objs32_64\src\find_replace.o .objs32_64\src\goto_file.o .objs32_64\src\infopane.o .objs32_64\src\main.o .objs32_64\src\manageglobsdlg.o .objs32_64\src\notebookstyles.o .objs32_64\src\printdlg.o .objs32_64\src\projectdepsdlg.o .objs32_64\src\projectmanagerui.o .objs32_64\src\projectoptionsdlg.o .objs32_64\src\recentitemslist.o .objs32_64\src\scriptconsole.o .objs32_64\src\scriptingsettingsdlg.o .objs32_64\src\splashscreen.o .objs32_64\src\startherepage.o .objs32_64\src\switcherdlg.o .objs32_64\src\threadsdlg.o .objs32_64\src\uservardlgs.o .objs32_64\src\virtualbuildtargetsdlg.o .objs32_64\src\watchesdlg.o  .objs32_64\src\resources\resources.res -Wl,--enable-auto-import -Wl,--no-undefined -m64 -mthreads  -lcodeblocks -lexchndl.dll -lshfolder -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lcomctl32 -lodbc32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwxmsw32u -mwindows
E:/Compilers/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lexchndl.dll
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (1 minute(s), 15 second(s))
2 error(s), 31 warning(s) (1 minute(s), 15 second(s))

A look at this shows that it's adding the Link Directory \exchndl\win64\lib.  That directory is empty.  exchndl.dll exists in \exchndl\win64\bin.


I tried manually copying everything from exchndl\win64\bin to exchndl\win64\lib, and ran the build again, and got.

-------------- Build: sdk in Code::Blocks wx3.2.x (64 bit) (compiler: GNU GCC Compiler)---------------

Running target pre-build steps
.objs32_64\autorevision +wx +int +t .. include/autorevision.h
Target is up to date.
Running target post-build steps
cmd /c if not exist devel32_64\share\CodeBlocks mkdir devel32_64\share\CodeBlocks
zip -jq9 devel32_64\share\CodeBlocks\manager_resources.zip sdk\resources\*.xrc
cmd /c "cd sdk\resources & zip -0 -q ..\..\devel32_64\share\CodeBlocks\manager_resources.zip images\*.png images\8x8\*.png images\10x10\*.png images\12x12\*.png images\16x16\*.png images\20x20\*.png images\24x24\*.png images\28x28\*.png images\32x32\*.png images\40x40\*.png images\48x48\*.png images\56x56\*.png images\64x64\*.png images\svg\*.svg"

-------------- Build: src in Code::Blocks wx3.2.x (64 bit) (compiler: GNU GCC Compiler)---------------

Running target pre-build steps
cmd /c if exist devel32_64\exchndl.dll del devel32_64\exchndl.dll
x86_64-w64-mingw32-g++.exe -LE:\Compilers\wxWidgets-3.2.4\lib\gcc_dll -Ldevel32_64 -Lexchndl\win64\lib -o devel32_64\codeblocks.exe .objs32_64\src\app.o .objs32_64\src\appglobals.o .objs32_64\src\associations.o .objs32_64\src\backtracedlg.o .objs32_64\src\breakpointsdlg.o .objs32_64\src\compilersettingsdlg.o .objs32_64\src\cpuregistersdlg.o .objs32_64\src\crashhandler.o .objs32_64\src\debugger_interface_creator.o .objs32_64\src\debuggermenu.o .objs32_64\src\debuggersettingscommonpanel.o .objs32_64\src\debuggersettingsdlg.o .objs32_64\src\debuggersettingspanel.o .objs32_64\src\disassemblydlg.o .objs32_64\src\dlgabout.o .objs32_64\src\dlgaboutplugin.o .objs32_64\src\editkeywordsdlg.o .objs32_64\src\editorconfigurationdlg.o .objs32_64\src\editprojectglobsdlg.o .objs32_64\src\environmentsettingsdlg.o .objs32_64\src\examinememorydlg.o .objs32_64\src\find_replace.o .objs32_64\src\goto_file.o .objs32_64\src\infopane.o .objs32_64\src\main.o .objs32_64\src\manageglobsdlg.o .objs32_64\src\notebookstyles.o .objs32_64\src\printdlg.o .objs32_64\src\projectdepsdlg.o .objs32_64\src\projectmanagerui.o .objs32_64\src\projectoptionsdlg.o .objs32_64\src\recentitemslist.o .objs32_64\src\scriptconsole.o .objs32_64\src\scriptingsettingsdlg.o .objs32_64\src\splashscreen.o .objs32_64\src\startherepage.o .objs32_64\src\switcherdlg.o .objs32_64\src\threadsdlg.o .objs32_64\src\uservardlgs.o .objs32_64\src\virtualbuildtargetsdlg.o .objs32_64\src\watchesdlg.o  .objs32_64\src\resources\resources.res -Wl,--enable-auto-import -Wl,--no-undefined -m64 -mthreads  -lcodeblocks -lexchndl.dll -lshfolder -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lcomctl32 -lodbc32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwxmsw32u -mwindows
E:/Compilers/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lexchndl.dll
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 6 second(s))
2 error(s), 0 warning(s) (0 minute(s), 6 second(s))[/quote]

So it's still not finding it in the directory that it's explicitely searching.
I notice that exchndl.dll is the only one of these libraries that it's including the .dll extension on when sending it to the linker.

What do I do from here?
Title: Re: Building Code::Blocks 25.03, can't find exchndl.dll
Post by: MadDavid on July 23, 2026, 08:36:51 pm
Also, I just checked with one of my own projects, and GNU GCC Compiler is indeed creating the .a that goes along with a .dll.  So it's not disabled somewhere in my compiler options.