1
Development / which standard to use, both for building wx and CB
« Last post by killerbot on Today at 12:01:55 pm »Thoug I am not sure, I remember seeing passing by some discussion of stepping up to C++17 ?
Looking at the cbp file for wx32, I see it is at gnu++11 :-( .
I was already building for years wx itself with -std=c++11.
Now what did I just do today:
* build wx 332 (-std=c++11)
* build CB with that using the "CodeBlocks_wx33_64.workspace", which asked for a standard version, I went for -std=c++17 (so no gnu extensions), I already had put the wx global var wx33_64.
Outcome:
* built without a problem
* CB launches fine
WTF:
* on the second (or third launch), nearly all panels (management, logs & others, ..)and toolbars were gone. Reactivating them manually, all seems fine again.
Restarted CB a few times, all still ok it seems.
Question:
* already for a few months when I open the CB workspace, I always pops up a dialog to select the target (src is always preselected), so I just press ok. Is this a regression or a feature we introduced ?
Proposals for building the nighlies, this is controlled and we can do whatever we want: (in the hope it all builds and runs fine)
* build wx dll with -std=c++23, while doing the step-up to wx 3.3.2
* build CB with -std=c++23
* if 23 fails, try 20
Anyone aware of blocking bugs for using wx 3.3.2 ?
Proposal for evolution of the codebase
* switch to C++20, make this an internal firm requirement and allow us to use C++20 features, in the end we are like 6 years late ;-)
* no longer support older envrionments who can not adhere to this requirement
* ditch 32 bit, we have an official release from last year which is still 32 bit, I would say, this was the last one
* maybe even go to c++23 ? That would be my personal preference.
What do you think ?
Looking at the cbp file for wx32, I see it is at gnu++11 :-( .
I was already building for years wx itself with -std=c++11.
Now what did I just do today:
* build wx 332 (-std=c++11)
* build CB with that using the "CodeBlocks_wx33_64.workspace", which asked for a standard version, I went for -std=c++17 (so no gnu extensions), I already had put the wx global var wx33_64.
Outcome:
* built without a problem
* CB launches fine
WTF:
* on the second (or third launch), nearly all panels (management, logs & others, ..)and toolbars were gone. Reactivating them manually, all seems fine again.
Restarted CB a few times, all still ok it seems.
Question:
* already for a few months when I open the CB workspace, I always pops up a dialog to select the target (src is always preselected), so I just press ok. Is this a regression or a feature we introduced ?
Proposals for building the nighlies, this is controlled and we can do whatever we want: (in the hope it all builds and runs fine)
* build wx dll with -std=c++23, while doing the step-up to wx 3.3.2
* build CB with -std=c++23
* if 23 fails, try 20
Anyone aware of blocking bugs for using wx 3.3.2 ?
Proposal for evolution of the codebase
* switch to C++20, make this an internal firm requirement and allow us to use C++20 features, in the end we are like 6 years late ;-)
* no longer support older envrionments who can not adhere to this requirement
* ditch 32 bit, we have an official release from last year which is still 32 bit, I would say, this was the last one
* maybe even go to c++23 ? That would be my personal preference.
What do you think ?
Recent Posts