Recent Posts

Pages: [1] 2 3 4 5 6 ... 10
1
Help / Re: code::blocks hangs at startup
« Last post by killerbot on Today at 03:12:34 pm »
#0  0x00007ffff4f1e80d in syscall () at /lib64/libc.so.6
#1  0x00007ffff4747e95 in std::sys::sync::condvar::futex::Condvar::wait () at /lib64/libglycin-2.so.0
#2  0x00007ffff46cb1bb in parking::Inner::park () at /lib64/libglycin-2.so.0
#3  0x00007ffff45fd656 in gly_loader_load () at /lib64/libglycin-2.so.0
#4  0x00007ffff712325e in ??? () at /lib64/libgdk_pixbuf-2.0.so.0
#5  0x00007ffff7123637 in ??? () at /lib64/libgdk_pixbuf-2.0.so.0
#6  0x00007ffff7113158 in gdk_pixbuf_new_from_file () at /lib64/libgdk_pixbuf-2.0.so.0
#7  0x00007ffff6b7d3b0 in wxBitmap::LoadFile(wxString const&, wxBitmapType) () at /lib64/libwx_gtk3u_core-suse-nostl.so.16.0.0
#8  0x00007fffc8ebe80f in wxsRegisterItem<wxsAnimationCtrl>::wxsRegisterItem(wxString, wxsItemType, wxString, long, bool) ()
    at /usr/local/lib/libwxsmithlib.so.0
#9  0x00007fffc8d6bacf in _GLOBAL__sub_I_wxsanimationctrl.cpp () at /usr/local/lib/libwxsmithlib.so.0


not sure if really usable, can not reproduce, ran in gdb, when it hang : ctrl-c and then bt.
but most of the other times I get something else ...
3
Development / Re: Mostly Successful Build CB 25 on GhostBSD 25
« Last post by Miguel Gimenez on Today at 11:42:28 am »
Reincident spammer reported to moderator.
4
Spam reported to moderator.
5
Nightly builds / Re: The 06 December 2025 build (13761) is out.
« Last post by srm2000 on Today at 11:11:45 am »
waiting for the first build of 2026
Happy new year!
6
Help / Re: code::blocks hangs at startup
« Last post by killerbot on Today at 08:35:50 am »
I applied this, but no luck, problem still present.
7
Development / Re: Mostly Successful Build CB 25 on GhostBSD 25
« Last post by shinhaha on Today at 03:53:42 am »
OK so I had a day spare and a laptop spare which I've just installed GhostBSD 25 onto so thought I'd try and build Code::Blocks 25.03.  Specifically I have GhostBSD 25.02-R14.3p2 and while it does have Code::Blocks 20 available in its package repository I wanted something newer.

I didn't do a full build log but half-way through I thought I'd write some notes in case anyone else wanted to do this too.sled rider

Set up the build environment

Need to install the autotools and development tools (I wasn't sure exactly which packages so I just installed all the dev tools which is probably excessive).  Note that installing "gcc" will bring in GCC version 13 which will fail to compile because it complains about precompiled headers so I had to remove that and use "gcc15".  I think these are all the packages you will need from a fresh install (as root/sudo):
Code
pkg install autotools
pkg install -g 'GhostBSD*-dev'
pkg remove gcc13
pkg install gcc15

Now its necessary to build wx32-gtk from the Ports tree (I don't think the one available as a package has the config tool but maybe it does and this step is not necessary?)
Code
pkg install ports
cd /usr/ports/x11-toolkits/wxgtk32
sudo make
sudo make install

Finally add a symlink in /usr/local/bin so wx-config points to the right place:
Code
sudo ln -s /usr/local/bin/wxgtk3u-3.2-config /usr/local/bin/wx-config

That should be enough to get the build environment set up and now you can follow the build instructions (i.e., ./bootstrap then ./configure, etc.,) in the CB README, however, the build will fail because of an issue around fontconfig.h not being found and also because the linker can't find the correct location of the kvm libraries.  As far as I can tell this is because GhostBSD (perhaps also other BSDs) keep these in a slightly different location (i.e., /lib instead of /usr/lib for kvm).  I managed to get around these issues in a slightly kludgy way but it did work.

fontconfig.h
I found out after I'd done this that there is a post about this on the forum which is probably a better solution and it would probably be better to modify the Makefile include path, however, I was impatient to carry on building so I simply changed the source file in:

src/plugins/contrib/source_exporter/wxPdfDocument/src/pdffontmanager.cpp

so that the included file was the full path: "/usr/local/include/fontconfig/fontconfig.h"

kvm
I get an error from the linker when building clangd_client so I changed the Makefile in:

src/plugins/contrib/clangd_client so that WX_LIBS has the flags "-L/lib -lkvm":

Code
WX_LIBS = -L/lib -lkvm -L/usr/local/lib ....etc...

And doing all that got me a mostly working build of Code::Blocks...at least as far as I can tell it works, I haven't done any in-depth testing yet but will do that soon.  I say "mostly" working because a couple of the toolbars appear to have missing icons (also in GhostBSD which is using MATE changing the toolbar icon size doesn't actually change the size of the buttons, just the size of the graphics within the buttons).

I'll attach a screenshot if anyone has any suggestions as to where the icons have gone?
haha, i like it!
8
This approach seems like a step in the right direction. A brainrot games unified workspace would definitely streamline the development process, especially for handling different wxWidgets versions under Windows.
so fun!
9
Help / Re: code::blocks hangs at startup
« Last post by stahta01 on Today at 12:28:16 am »
Patch for my wild guess at the cause, could be multiple causes since wxSmith was written for old wxWidgets version. Edit: My wild guess is that the png files are old enough to break something.

Code
From 784a02fc146d4f1dfb8d259e66e6b99e4667f877 Mon Sep 17 00:00:00 2001
From: Tim Stahlhut <stahta01@gmail.com>
Date: Wed, 21 Jan 2026 17:00:28 -0500
Subject: Add svg guard code to wxSmith

---
 src/plugins/contrib/wxSmith/wxsresourcetree.cpp      |  6 ++++++
 .../wxSmith/wxwidgets/defitems/wxscustomwidget.cpp   |  5 +++++
 .../wxSmith/wxwidgets/defitems/wxsmenuitem.cpp       | 12 +++++++++++-
 .../contrib/wxSmith/wxwidgets/defitems/wxsspacer.cpp |  5 +++++
 .../wxSmith/wxwidgets/defitems/wxstoolbaritem.cpp    | 12 +++++++++++-
 .../contrib/wxSmith/wxwidgets/wxsitemresdata.cpp     |  4 ++++
 6 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/src/plugins/contrib/wxSmith/wxsresourcetree.cpp b/src/plugins/contrib/wxSmith/wxsresourcetree.cpp
index 8295e13cc..a8e3562e6 100644
--- a/src/plugins/contrib/wxSmith/wxsresourcetree.cpp
+++ b/src/plugins/contrib/wxSmith/wxsresourcetree.cpp
@@ -51,9 +51,15 @@ namespace
 }
 
 wxsResourceTree* wxsResourceTree::m_Singleton = nullptr;
+#if wxCHECK_VERSION(3, 1, 6)
+int wxsResourceTree::m_RootImageId = LoadImage(_T("/images/wxsmith/wxSmith16.svg"));
+int wxsResourceTree::m_ProjectImageId = LoadImage(_T("/images/codeblocks.svg"));
+int wxsResourceTree::m_ExternalImageId = LoadImage(_T("/images/wxsmith/deletewidget16.svg"));
+#else
 int wxsResourceTree::m_RootImageId = LoadImage(_T("/images/wxsmith/wxSmith16.png"));
 int wxsResourceTree::m_ProjectImageId = LoadImage(_T("/images/codeblocks.png"));
 int wxsResourceTree::m_ExternalImageId = LoadImage(_T("/images/wxsmith/deletewidget16.png"));
+#endif
 
 
 BEGIN_EVENT_TABLE(wxsResourceTree,wxTreeCtrl)
diff --git a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxscustomwidget.cpp b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxscustomwidget.cpp
index 1ef204d48..b2281c463 100644
--- a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxscustomwidget.cpp
+++ b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxscustomwidget.cpp
@@ -34,8 +34,13 @@ namespace
         _T("Custom"),
         wxsCPP,
         0,0,
+#if wxCHECK_VERSION(3, 1, 6)
+        _T("images/wxsmith/Custom32.svg"),
+        _T("images/wxsmith/Custom16.svg"));
+#else
         _T("images/wxsmith/Custom32.png"),
         _T("images/wxsmith/Custom16.png"));
+#endif
 
     WXS_EV_BEGIN(wxsCustomWidgetEvents)
         WXS_EV_DEFAULTS()
diff --git a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenuitem.cpp b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenuitem.cpp
index a0baaf14a..b579ae331 100644
--- a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenuitem.cpp
+++ b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenuitem.cpp
@@ -30,7 +30,12 @@ namespace
     {
         public:
 
-            InfoHandler(): m_TreeImage(_T("images/wxsmith/wxMenuItem16.png"),true)
+            InfoHandler():
+#if wxCHECK_VERSION(3, 1, 6)
+                m_TreeImage(_T("images/wxsmith/wxMenuItem16.svg"),true)
+#else
+                m_TreeImage(_T("images/wxsmith/wxMenuItem16.png"),true)
+#endif
             {
                 ClassName      = _T("wxMenuItem");
                 Type           = wxsTTool;
@@ -49,8 +54,13 @@ namespace
                 // TODO: This code should be more generic since it may quickly
                 //       become invalid
                 wxString DataPath = ConfigManager::GetDataFolder() + _T("/images/wxsmith/");
+#if wxCHECK_VERSION(3, 1, 6)
+                Icon32.LoadFile(DataPath+_T("wxMenuItem32.svg"),wxBITMAP_TYPE_ANY);
+                Icon16.LoadFile(DataPath+_T("wxMenuItem16.svg"),wxBITMAP_TYPE_ANY);
+#else
                 Icon32.LoadFile(DataPath+_T("wxMenuItem32.png"),wxBITMAP_TYPE_PNG);
                 Icon16.LoadFile(DataPath+_T("wxMenuItem16.png"),wxBITMAP_TYPE_PNG);
+#endif
                 TreeIconId = m_TreeImage.GetIndex();
             };
 
diff --git a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsspacer.cpp b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsspacer.cpp
index cb023f9a7..de528b98a 100644
--- a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsspacer.cpp
+++ b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsspacer.cpp
@@ -38,8 +38,13 @@ namespace
         _T(""),
         wxsCPP,
         2,6,
+#if wxCHECK_VERSION(3, 1, 6)
+        _T("images/wxsmith/Spacer32.svg"),
+        _T("images/wxsmith/Spacer16.svg"));
+#else
         _T("images/wxsmith/Spacer32.png"),
         _T("images/wxsmith/Spacer16.png"));
+#endif
 
     class wxsSpacerPreview : public wxPanel
     {
diff --git a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxstoolbaritem.cpp b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxstoolbaritem.cpp
index 21e363e5f..95a30d413 100644
--- a/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxstoolbaritem.cpp
+++ b/src/plugins/contrib/wxSmith/wxwidgets/defitems/wxstoolbaritem.cpp
@@ -28,7 +28,12 @@ namespace
     {
         public:
 
-            InfoHandler(): m_TreeImage(_T("images/wxsmith/wxToolBarItem16.png"),true)
+            InfoHandler():
+#if wxCHECK_VERSION(3, 1, 6)
+                m_TreeImage(_T("images/wxsmith/wxToolBarItem16.svg"),true)
+#else
+                m_TreeImage(_T("images/wxsmith/wxToolBarItem16.png"),true)
+#endif
             {
                 ClassName      = _T("wxToolBarToolBase");
                 Type           = wxsTTool;
@@ -47,8 +52,13 @@ namespace
                 // TODO: This code should be more generic since it may quickly
                 //       become invalid
                 wxString DataPath = ConfigManager::GetDataFolder() + _T("/images/wxsmith/");
+#if wxCHECK_VERSION(3, 1, 6)
+                Icon32.LoadFile(DataPath+_T("wxToolBarItem32.svg"),wxBITMAP_TYPE_ANY);
+                Icon16.LoadFile(DataPath+_T("wxToolBarItem16.svg"),wxBITMAP_TYPE_ANY);
+#else
                 Icon32.LoadFile(DataPath+_T("wxToolBarItem32.png"),wxBITMAP_TYPE_PNG);
                 Icon16.LoadFile(DataPath+_T("wxToolBarItem16.png"),wxBITMAP_TYPE_PNG);
+#endif
                 TreeIconId = m_TreeImage.GetIndex();
             };
 
diff --git a/src/plugins/contrib/wxSmith/wxwidgets/wxsitemresdata.cpp b/src/plugins/contrib/wxSmith/wxwidgets/wxsitemresdata.cpp
index 143729fa4..88c5c5397 100644
--- a/src/plugins/contrib/wxSmith/wxwidgets/wxsitemresdata.cpp
+++ b/src/plugins/contrib/wxSmith/wxwidgets/wxsitemresdata.cpp
@@ -44,7 +44,11 @@ using namespace wxsFlags;
 
 namespace
 {
+#if wxCHECK_VERSION(3, 1, 6)
+    const int ToolsTreeImageId = wxsResourceTree::LoadImage(_T("images/wxsmith/tools16.svg"));
+#else
     const int ToolsTreeImageId = wxsResourceTree::LoadImage(_T("images/wxsmith/tools16.png"));
+#endif
 }
 
 wxsItemResData::wxsItemResData(
--
2.51.2.windows.1

10
It seems CodeBlocks aims for the upper limit which is 32767, in
  • src/plugins/compilergcc/directcommands.cpp
  • src/plugins/contrib/clangd_client/src/LSPclient/client.cpp
which is not entirely true on windows because in some cases it can go down to as low as 8191.

I've experienced this annoying bug while trying to build a big project where CodeBlocks had correctly detected that the initial command was over the 32k limit but the reduced command with the trailing response file would still fail with "Command line is too big" error from the system.

Attached is a simple patch to address this issue.

(I tested compiler.dll with these new values and my project can finally build!)
Pages: [1] 2 3 4 5 6 ... 10