My tests with STL build were made using wx3.1.5 and GCC 8.1, I have not tested STL recently. I can make some tests next tuesday.
Thank you if you do that; no hurry.
H:\repos\git\devel\IDE_git_repos\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\properties\wxsarraystringcheckproperty.cpp: In member function 'virtual bool wxsArrayStringCheckProperty::PropStreamWrite(wxsPropertyContainer*, wxsPropertyStream*)':
H:\repos\git\devel\IDE_git_repos\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\properties\wxsarraystringcheckproperty.cpp:121:61: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
121 | Stream->PutBool(DataSubName + _T("_checked"),CHECK[i],false);
Tim S.
Can you test this?
// Stream->PutBool(DataSubName + _T("_checked"),CHECK[i],false);
bool Checked = CHECK[i];
Stream->PutBool(DataSubName + _T("_checked"), Checked, false);
building 3.1.7 :
patching:
* 2D patch (see below)
* (aui floating window) https://github.com/wxWidgets/wxWidgets/commit/0e57ed18518d0417759346541dd3c60e1f3e5e8e
2D patch:
include/wx/msw/setup.h
#if defined(_MSC_VER) && _MSC_VER >= 1600
#define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT
#else
#define wxUSE_GRAPHICS_DIRECT2D 0
#endif
==> just 1 line
#define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT
and build instruction:
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb CXXFLAGS+="-std=c++11"
Is is also possible to get a copy of the config snippet for the global variables needed?
From my quick 5 minute look it seems that the $(CB_BUILD) has not been included. If this is the only change then it will help out a heck of allot and ensure that only one set of project files are
needed. The lack of using $(CB_BUILD) is a good one as it does bite when you move code and I have no problems with it's removal as it will lessen issues devs face (btw I keep getting issues with when I make copies of the soruce tree and forget to update it, so I am starting to <expletive removed> with it and have been thinking of reverting it for the last month). I will be incorporating the removal of the $(CB_BUILD) as I think it is the correct way to go.
I just looked at the Cbps.7z file supplied by gd_on, it has some code snippet like:
<Target title="scintilla">
<Option output="devel$(#WXWIDGETS.WX_VERSION)_$(#CB_BUILD.OSBITS)/wxscintilla_cb" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output=".objs$(#WXWIDGETS.WX_VERSION)_$(#CB_BUILD.OSBITS)" />
So, I'm not sure how can you do that if you remove the "$(CB_BUILD)" (global variable) and use the existing "cb_release_type" variable?
@pecan
Just attaching the aaaa project
Max
Your aaaa project work perfectly on the latest CB nightly, here on my wx3.1.7 installation.
I suspect that the auto detect of clangd.exe is incorrect.
From the base of your msys64 install, using a command windows, issue the command "dir /s clangd*"
You'll probably find that you have two clangd.exe modules.
Like:
F:\user\programs\msys64_13.0.1>dir /s clangd*
Volume in drive F is HPHD2
Volume Serial Number is 0873-0556
Directory of F:\user\programs\msys64_13.0.1\clang64\bin
02/04/2022 11:50 AM 14,887,424 clangd.exe
1 File(s) 14,887,424 bytes
Directory of F:\user\programs\msys64_13.0.1\mingw64\bin
02/04/2022 11:49 AM 12,204,466 clangd.exe
1 File(s) 12,204,466 bytes
Note that there's one clangd.exe in mingw64\bin
and another in clang64\bin.
Look into Setting/Editor/Clangd_client/ tab C/C++ Parser at the entry "Specify Clangd executable to use" and make sure it's set to your directory of mingw64/bin/clangd.exe
(https://forums.codeblocks.org/index.php?action=dlattach;topic=25068.0;attach=11236;image)
@gd_on:
The code at the start of Codeblocks_Windows.cbp and Codeblocks_wx32_64.cbp
?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Code::Blocks Windows" />
<Option default_target="src" />
<Option compiler="gcc" />
<MakeCommands>
<Build command="" />
<CompileFile command="" />
<Clean command="" />
<DistClean command="" />
<AskRebuildNeeded command="" />
<SilentBuild command=" > $(CMD_NULL)" />
</MakeCommands>
<Build>
=======================================================================
?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Code::Blocks wx3.2.x (64 bit)" />
<Option default_target="src" />
<Option compiler="gnugcc_x64_compiler" />
<Build>
The Make commands in your .cbp Throw me. Are they necessary?
Regards
@gd_on:
As you'll notice in the following build-log snippet std=gnu++11 has returned, but the cflag -O2 is missing. The variable cpp_std is called std. The 64-bit build failed earlier, I had updated my env-vars per your last instructions in cbps_5.7z I have no idea if a missing cflag variable and/or a misspelled vsriable could cause the failures.
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 -D__WX__ -DWINVER=0x0501 -DLINK_LEXERS -DSCI_LEXER -DWXMAKINGDLL_SCI -iquote.objs32_64\include -I.objs32_64\include -I. -IC;\wxWidgets-3.2.0\include -IC;\wxWidgets-3.2.0\lib\gcc_dll64\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Isdk\wxscintilla\src\scintilla\include -Isdk\wxscintilla\src\scintilla\src -Isdk\wxscintilla\src\scintilla\lexlib -c C:\projects\12877\src\sdk\wxscintilla\src\scintilla\lexers\LexAsn1.cxx -o .objs32_64\sdk\wxscintilla\src\scintilla\lexers\LexAsn1.o
C:\projects\12877\src\sdk\wxscintilla\src\PlatWX.cpp:8:10: fatal error: wx/wxprec.h: No such file or directory
#include "wx/wxprec.h"
The attached png file shows cb_build after your instructions in cbps_3.7z. I couldn't have followed your instructions more explicitly.
Ihank you for taking the time to reply to alll my comments addressed to you. Maybe someone else can figure out what is causing the problems when I try to build 64-bit builds using your cbps. I'll just wait until your cbps show up in source. Until then, I have my own Codeblocks_wx32_64.cbp and ContribPlugins_wx32_64.workplace files that work.
Again, Thank you !
Regards
Why not, but in all wx32_64.cbp, the wx_cfg value is empty or set as "".
<Variable name="WX_CFG" value="" />
And I don't understand why -O2 is missing on the command line and why it does not work for you (wxprec.h not found). If -O2 is found for cpp files with wx32_64 cbp, it should also be found in _windows.cbp, except if you have modified something in my cbp. As I told, I use no more cb_release_type but cb_build.cflags (with the same -O2 value) to be homogeneous in all the cbps.
@gd_on:
There are 4361 lines of code in 32_64.cbp and 4356 lines of code in World.cbp. You removed the following lines of code from 32_64.cbp:
<Environment>
<Variable name="WX_CFG" value="64" />
<Variable name="WX_SUFFIX" value="u" />
<Variable name="WX_VERSION" value="32" />
</Environment>
, but never replaced them with the global variables you created for wxwidgets. I suspect this is causing the failures.
I used WinMerge to compare the two programs.
Regards