Debugger_gbdmi failed to build
Using Windows 10 Pro (64)
Build Log:
-------------- Build: default in debugger_gdbmi wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13834\..\include -Ic:\CB13834\..\include\tinyxml -Ic:\CB13834\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\actions.cpp -o c:\CB13834\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\actions.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13834\..\include -Ic:\CB13834\..\include\tinyxml -Ic:\CB13834\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cJSON.cpp -o c:\CB13834\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cJSON.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13834\..\include -Ic:\CB13834\..\include\tinyxml -Ic:\CB13834\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.cpp -o c:\CB13834\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cmd_queue.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13834\..\include -Ic:\CB13834\..\include\tinyxml -Ic:\CB13834\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cmd_result_parser.cpp -o c:\CB13834\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cmd_result_parser.o
In file included from C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.cpp:1:
C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.h:11:10: fatal error: globals.h: No such file or directory
11 | #include "globals.h"
| ^~~~~~~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 9 second(s))
In file included from C:\Temp\newdir\debugger_gdbmi\src\actions.h:6,
from C:\Temp\newdir\debugger_gdbmi\src\actions.cpp:1:
C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.h:11:10: fatal error: globals.h: No such file or directory
11 | #include "globals.h"
| ^~~~~~~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 10 second(s))
Process terminated with status 0 (0 minute(s), 14 second(s))
2 error(s), 0 warning(s) (0 minute(s), 14 second(s))
Envar cb created with base of C:\CB13834 prior to failure.
One question: When I looked at the file: debugger_gdbmi_wx33_64.cbp
<Extensions>
<envvars set="cb_plugin" />
<wxsmith version="1">
<gui name="wxWidgets" src="" main="" init_handlers="necessary" language="CPP" />
<resources>
<wxPanel wxs="wxsmith/config_panel.wxs" src="src/config.cpp" hdr="src/config.h" fwddecl="1" i18n="1" name="ConfigurationPanel" language="CPP" />
</resources>
</wxsmith>
</Extensions>
I don't see the wxs file in the github code repo, did you forget to add it to the repo?
EDIT1:
Or maybe, the config.h and config.cpp is not necessary for building this plugin?
EDIT2:
I think the debugger_gdbmi_wx32_64.depend those depends file should be removed from the code repo.
Setting cb_plugin to '.' (without quotes) also fails. Codeblocks issues a warning about not being able to locate the variable. Build log follows:
-------------- Build: default in debugger_gdbmi wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13840\..\include -Ic:\CB13840\..\include\tinyxml -Ic:\CB13840\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\actions.cpp -o c:\CB13840\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\actions.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13840\..\include -Ic:\CB13840\..\include\tinyxml -Ic:\CB13840\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cJSON.cpp -o c:\CB13840\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cJSON.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13840\..\include -Ic:\CB13840\..\include\tinyxml -Ic:\CB13840\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.cpp -o c:\CB13840\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cmd_queue.o
g++.exe -Wextra -Wall -m64 -g -g -pipe -mthreads -fmessage-length=0 -fexceptions -std=gnu++23 -DHAVE_W32API_H -DBUILDING_PLUGIN -D__WXMSW__ -DWXUSINGDLL -DNOPCH -DwxUSE_UNICODE -D_WIN64 -DCC_NO_COLLAPSE_ITEM -DcbDEBUG -DDOLOGSNIP -g -std=gnu++23 -Ic:\CB13840\..\include -Ic:\CB13840\..\include\tinyxml -Ic:\CB13840\..\sdk\wxscintilla\include -Isrc -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -c C:\Temp\newdir\debugger_gdbmi\src\cmd_result_parser.cpp -o c:\CB13840\..\.obj33_64\plugins\contrib\debugger_gdbmi\src\cmd_result_parser.o
In file included from C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.cpp:1:
C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.h:11:10: fatal error: globals.h: No such file or directory
11 | #include "globals.h"
| ^~~~~~~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 6 second(s))
In file included from C:\Temp\newdir\debugger_gdbmi\src\actions.h:6,
from C:\Temp\newdir\debugger_gdbmi\src\actions.cpp:1:
C:\Temp\newdir\debugger_gdbmi\src\cmd_queue.h:11:10: fatal error: globals.h: No such file or directory
11 | #include "globals.h"
| ^~~~~~~~~~~
compilation terminated.
Process terminated with status 1 (0 minute(s), 7 second(s))
Process terminated with status 0 (0 minute(s), 12 second(s))
2 error(s), 0 warning(s) (0 minute(s), 12 second(s))
Tree results in attachment
Whatever that is, it is not the source for codeblocks.
What you showed me is the binary output after compiling codeblocks. It does not contain the CodeBlocks source files.
If you want to compile a plugin, you need to compile it agains the CodeBlocks source code.
You can download the source from https://sourceforge.net/p/codeblocks/code/HEAD/tree/
Look at the upper right to see a button titled "Download Snapshot".
Click that button and it will generate the source code into a zip file. It'll take about two minutes.
Unzip that file into a new folder named CBdevel.
Copy the downloaded .zip file into CBdevel folder.
Unzip the download .zip file. It'll create a directory named: codeblocks-code-r13840-trunk .
Rename that directory to "trunk" so you won't have to type long folder names.
Start your codeblocks, the one you usually use.
Open the .cbp from "CBdevel\trunk\src\CodeBlocks_wx33_64.cbp"
Click on MainMenu->Build->Rebuild Workspace and wait until it finishes building CodeBlocks.
When it finishes, close down CodeBlocks and open a console (cmd.exe).
In the console type "cd CBdevel\trunk\src\ ".
In the console type "update33_64" . That bat file will copy the .exe and .dll(s) to CBdevel\trunk\src\output33_64 .
Type into the console:
cd output33_64
codeblocks.exe /d /p CBdevel
The newly build CodeBlocks should load and run.
From the CodeBlocks top menu, File/Open the following workspace:
"CBdevel\trunk\src\ContribPlugins_wx33_64.workspace". It may take about 5-10 seconds to load.
Once loaded, it will ask you where your wxWidgets 3.3 source resides. Use the three dots to navigate and select the folder containing wxWidgets source code. Click on save.
It will ask for a cb_release type. Enter "-g" into the slot named base (without the quotes). Click save.
It will ask you for a cb_cpp_std. For me, I enter "-std=c++11" . I think you're using "-std=c++23". Click save.
For each project in the workspace that you want to use, right click on the project name and select "Rebuild". I choose the following: BrowseTracker, CodeSnippets, DragScroll, KeyBinder, Clangd_client, and SmartIndent.
After all the plugin projects of your choosing have been Rebuilt, close down CodeBlocks.
In the console type "cd CBDevel\trunk\src" . And then "Update33_64.bat" so that CB copies the chosen (now binary plugins) into the correct folders.
Now "cd output33_64" in the console and restart CodeBlocks with "codeblocks.exe /d /p CBdevel" .
Now we're ready to install and compile debugger_gdbmi plugin with your new CodeBlocks.
Make a fresh copy of the debugger_gdbmi plugin frrom https://github.com/pecanh/debugger_gdbmi/releases/tag/%22Nightly_Releases%22 . Click on "Source code (zip)" near the bottom of the page.
In the console, "cd CBdevel\trunk\src\plugins\contribs " and make a new folder named "debugger_gdbmi".
Copy the downloaded zip file (debugger_gdbmi--Nightly_Releases.zip) into the newly create debugger_gdbmi folder. Unzip the .zip file which will have a name like "debugger_gdbmi--Nightly_Releases" with the source in a folder named "src". copy the src directory and all it contents so that the layout of the debugger_gdbmi folder looks like"this:
|───CBdevel
| |---trunk
| |---src
| |---plugins
| |---contribs <-a lot of projects here
| |---debugger_gdbmi <-the new folder you create
| |───InstallDebuggerMI
| |--- .cbp build files
| |--- src <-This folder must be a child of the debugger_gdbmi folder.
| |---resources
| | ---source files (cpp,h,etc) <- the actual source files must be in the "src" folder.
Start CodeBlocks if it's not already running.
Check that Setting/compiler/ToolChainExecutables use the same compiler that built CodeBlocks.
With CodeBlocks running, from the main menu File/Open file named:
CBdevel\trunk\src\plugins\contribs\debugger_gdbmi\debugger_gdbmi_wx33_64.cbp
and Build/rebuild.
Close CodeBlocks.
When the build is successful, go back to the console and from CBdevel\trunk\src run update33_64.bat debugger_gdbmi should now show in plugins when CodeBlocks is restarted.
To run clangd_client you will have to disable the CodeCompletion plugin, enable clangd_client and update its settings.
Codeblocks.exe /d /p CBdevel executes now. Am having problem(s) with the compiler. It says that there is no linker.
Build Log
-------------- Clean: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------
Cleaned "Code Snippets wx3.3.x (64 bit) - Plugin - Win32"
-------------- Build: Plugin - Win32 in Code Snippets wx3.3.x (64 bit) (compiler: GNU GCC Compiler)---------------
x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\snippetsconfig.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\snippetsconfig.o
x86_64-w64-mingw32-g++.exe -Wall -m64 -g -pipe -mthreads -fmessage-length=0 -fexceptions -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DcbDEBUG -DwxUSE_UNICODE -DBUILDING_PLUGIN -DNO_LOGGING std=c++23 -g -Winvalid-pch -DCB_PRECOMP std=c++23 -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\src -IC:\wxWidgets-3.3.2\include -IC:\wxWidgets-3.3.2\lib\gcc_dll\mswu -I. -c C:\CBdevel\trunk\src\plugins\contrib\codesnippets\codesnippets.cpp -o ..\..\..\.objs33_64\plugins\contrib\codesnippets\plugin\codesnippets.o
x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory
x86_64-w64-mingw32-g++.exe: warning: std=c++23: linker input file unused because linking not done
x86_64-w64-mingw32-g++.exe: error: std=c++23: linker input file not found: No such file or directory
Process terminated with status 1 (0 minute(s), 27 second(s))
2 error(s), 2 warning(s) (0 minute(s), 27 second(s))