News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

to which compiler should we step up to bundle with CB

Started by killerbot, May 08, 2023, 09:56:47 PM

Previous topic - Next topic

Miguel Gimenez

There are a lot of users (and potential users) that still use W7 (even XP). In the company I work for about 80 % of the OS are W7-64, there are one XP and one W7-32, only a few are W10.

  - If you compile next release using the UCRT compiler they will have problems, unless the installer takes care of the needed MSW update.
  - If you bundle the UCRT compiler, they will need to install the MSW update when deploying their software to pre-W10 systems.

IMHO, MSVCRT will be with us many years.

killerbot

https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c

seems this works to for Win 7 (even that horrible Vista), only XP is out of the picture, which I really think is ok, we should drop old stuff some day.

Miguel Gimenez

Also, whatever compiler is chosen must be properly detected. 20.03 had problems detecting the bundled compiler.

killerbot

currently nightly detected it without issues for me.

ollydbg

For me, I'm still using GCC with MSVCRT runtime. It works fine under Win7 and Win10. I haven't see someone using UCRT under Win7 before.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

MortenMacFly

Quote from: killerbot on May 19, 2023, 06:28:33 PM
anyone any epxerience with this one, looks very promising : https://winlibs.com/
This is currently also my favourite compiler suite. However, the last version that was able to compile everything I have a need for was:
gcc-10.3.0-llvm-12.0.0-mingw-w64-9.0.0-r2
...but I will try version 13 - seems this might be a good one if it compiles wx32, indeed.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

nenin

GCC 13 is important step for MinGW-w64 because it should support native Win32 threads. At least I can run simple test from the box.
Nixman just published GCC 13.1:  https://github.com/niXman/mingw-builds-binaries/releases  - it is kind of further development of the current 8.1.

nenin

Quote from: ollydbg on May 24, 2023, 03:16:50 AM
I haven't see someone using UCRT under Win7 before.
It is me.  :)
I did it also on XP, with moderate success. 
By any way better to install UCRT if possible, even if soft is linked against MSVCRT.

MortenMacFly

Quote from: MortenMacFly on May 25, 2023, 03:02:47 PM
...but I will try version 13 - seems this might be a good one if it compiles wx32, indeed.
I did that now an with:
gcc-13.1.0-llvm-16.0.4-mingw-w64ucrt-11.0.0-r4
...I have full success with all of my projects! This would be my current favourite.
I can also live very well with niXman, but as I said in the other thread: Since in the WinLibs release most common libs/tools are also bundled I would prefer the WinLib one.
Lets see how the next nightly with POSIX threads turns out...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

killerbot

you mean the latest nightly ;-)
It is already existing.

MortenMacFly

Quote from: MortenMacFly on June 06, 2023, 06:49:58 AM
I did that now an with:
gcc-13.1.0-llvm-16.0.4-mingw-w64ucrt-11.0.0-r4
...I have full success with all of my projects! This would be my current favourite.
BTW: There are projects that do not compile but still do with TDM - who really was the best IMHO. What does not compile are static builds (including static c/c++ libs) based on openmp. Unfortunately symbols are missing in that case. However, still its a very good compiler. Maybe I can strip these down to a reproducible sample and send to the author as a bug-report...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

ollydbg

Quote from: MortenMacFly on July 26, 2023, 08:24:29 PM
Quote from: MortenMacFly on June 06, 2023, 06:49:58 AM
I did that now an with:
gcc-13.1.0-llvm-16.0.4-mingw-w64ucrt-11.0.0-r4
...I have full success with all of my projects! This would be my current favourite.
BTW: There are projects that do not compile but still do with TDM - who really was the best IMHO. What does not compile are static builds (including static c/c++ libs) based on openmp. Unfortunately symbols are missing in that case. However, still its a very good compiler. Maybe I can strip these down to a reproducible sample and send to the author as a bug-report...
I think the author of winlibs project is very active, see: brechtsanders (Brecht Sanders), maybe he can help.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.