| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 714
» Latest member: HenryG
» Forum threads: 3,569
» Forum posts: 31,909
Full Statistics
|
| Latest Threads |
QB64PE v 4.4.0
Forum: Announcements
Last Post: madscijr
5 hours ago
» Replies: 8
» Views: 681
|
4x4 Square Elimination Pu...
Forum: bplus
Last Post: bplus
8 hours ago
» Replies: 12
» Views: 414
|
Container Data Structure
Forum: Utilities
Last Post: bplus
8 hours ago
» Replies: 3
» Views: 131
|
Accretion Disk
Forum: Programs
Last Post: bplus
9 hours ago
» Replies: 11
» Views: 295
|
QBJS v0.10.0 - Release
Forum: QBJS, BAM, and Other BASICs
Last Post: Unseen Machine
Today, 04:14 AM
» Replies: 13
» Views: 1,300
|
Arrays inside Types?
Forum: General Discussion
Last Post: hsiangch_ong
Today, 03:24 AM
» Replies: 47
» Views: 1,451
|
Has anybody experience wi...
Forum: Help Me!
Last Post: Rudy M
Yesterday, 08:47 AM
» Replies: 31
» Views: 1,937
|
Sorting numbers - FiliSor...
Forum: Utilities
Last Post: PhilOfPerth
03-11-2026, 12:48 AM
» Replies: 11
» Views: 378
|
Quick Sort for variable l...
Forum: Utilities
Last Post: SMcNeill
03-10-2026, 03:14 PM
» Replies: 3
» Views: 108
|
Ready for Easter!
Forum: Holiday Code
Last Post: bplus
03-10-2026, 12:15 PM
» Replies: 0
» Views: 61
|
|
|
| option explicit |
|
Posted by: Unseen Machine - 01-23-2026, 02:55 AM - Forum: General Discussion
- Replies (20)
|
 |
How many of you guys use this?
Why do you use it if you do?
To me, its a weird but maybe compile side reasons reducing bloat. But if thats not the reason then WHY as to me it just adds a whole extra layer on a language that's supposed to be basic! And as an example...
Code: (Select All)
OPTION _EXPLICIT
kb$ =inkeys$
THIS ERRORS! And this error took me a couple of mins to trace to this command! So i ask, can we add to the DEBUGGER something that says "Variable not defined before use - Option Explicit Error" or something as if it baffled me, newbies got no chance!
also at the devs the error that this reports isnt very informative either
Code: (Select All)
declare somesilly library
SUB Nothing
end declare
Surely the parser should pick up the somesilly and not inference the declare command as having been already declared!
It's minor BS like this that adds to the "WTF" and people not wanting to play with QB64PE!
Also, as it has 32 and 64 bit variants, why not call it QBasic PE - removes the "Oh its only for 64 bit systems" thought from a possible user who doesnt care to dig deeper.
Whinge, whinge whinge!
Unseen
|
|
|
| NumType |
|
Posted by: SMcNeill - 01-22-2026, 06:24 PM - Forum: SMcNeill
- No Replies
|
 |
An over-engineered routine which tells you if a string is a number.
It also then tells you why it's not a number, if it's not a number.
It then also tells you exactly what type of numbers the number might be, if it's a number.
Code: (Select All)
Screen _NewImage(550, 600, 32)
For i = 0 To 255
i$ = Chr$(i)
o$ = i$ + "="
If IsUpper(i$) Then Print o$ + "Upper",
If IsLower(i$) Then Print o$ + "lower",
If IsAlpha(i$) Then Print o$ + "alpha",
Next
Sleep
Cls
Const limit = 17
Dim test(limit) As String
Data "123a.3","-123.456","--234","1.23E15","123","dogfood","678.965","54678","-987134","1E15"
Data "&HFF","&B1001111","&O17","&HFF&&","&B12000222","1.E-12","1.F3000"
For i = 1 To limit
Read test(i)
Next
For i = 1 To limit
Print "TEST #"; i; ": "; test(i) + " "
result = NumType(test(i))
If result = 0 Then Print "INVALID: "; NumErr$ Else Print "IS A NUMBER: ";
If result And 1 Then Print "Valid Unsigned Bit. ";
If result And 2 Then Print "Valid Unsigned Byte. ";
If result And 4 Then Print "Valid Unsigned Integer. ";
If result And 8 Then Print "Valid Unsigned Long. ";
If result And 16 Then Print "Valid Unsigned Integer64. ";
If result And 32 Then Print "Valid Unsigned Bit. ";
If result And 64 Then Print "Valid Signed Byte. ";
If result And 128 Then Print "Valid Signed Integer. ";
If result And 256 Then Print "Valid Signed Long. ";
If result And 512 Then Print "Valid Signed Integer64. ";
If result And 1024 Then Print "Valid Single. ";
If result And 2048 Then Print "Valid Double. ";
If result And 4096 Then Print "Valid Float. ";
If result And 8192 Then Print "Valid Unsigned Offset. ";
If result And 16384 Then Print "Valid Signed Offset. ";
Print
Sleep
Next
Function IsUpper (s As String * 1)
If Asc(s) = _Clamp(Asc(s), 65, 90) Then IsUpper = _TRUE
End Function
Function IsLower (s As String * 1)
If Asc(s) = _Clamp(Asc(s), 97, 122) Then IsLower = _TRUE
End Function
Function IsAlpha (s As String * 1)
If (Asc(s) Or 32) = _Clamp(Asc(s) Or 32, 97, 122) Then IsAlpha = _TRUE
End Function
Function NumType~% (text$)
Shared NumErr$
Dim TempNum As Integer
temp$ = UCase$(_Trim$(text$))
NumErr$ = "": TempNum = 0
'First look for manually assigned types
r1$ = Right$(temp$, 1): r = 1
r2$ = Left$(Right$(temp$, 2), 1)
Select Case r1$
Case "`"
TestFor = 1 'bit
Case "%"
If r2$ = "%" Then
r = 2
TestFor = 2 'byte
Else
TestFor = 3 'integer
End If
Case "&" 'long, int64, offset
If r2$ = "&" Then
r = 2
TestFor = 5 'int64
ElseIf r2$ = "%" Then
r = 2
TestFor = 9 'offset
Else
TestFor = 4 'long
End If
Case "!" 'single
TestFor = 6
Case "#" 'double, float
If r2$ = "#" Then
r = 2
TestFor = 8 'float
Else
TestFor = 7 'double
End If
Case Else 'there's no set type
TestFor = 0
r = 0
End Select
temp$ = Left$(temp$, Len(temp$) - r) 'strip off the type symbol
Select Case TestFor
Case 1 To 5, 9
r$ = Right$(temp$, 1)
If r$ = "~" Then Unsigned = -1: temp$ = Left$(temp$, Len(temp$) - 1)
End Select
'check for valid prefixes
l$ = Left$(temp$, 2)
Select Case l$
Case "&H"
temp$ = Mid$(temp$, 3)
For i = 1 To Len(temp$)
t$ = Mid$(temp$, i, 1)
Select Case t$
Case "0" To "9", "A" To "F" 'valid
Case Else
NumErr$ = NumErr$ + "Invalid Character (" + t$ + ") encountered. "
End Select
Next
If NumErr$ <> "" Then Exit Function
GoTo evaluateintegers
Case "&B"
temp$ = Mid$(temp$, 3)
For i = 1 To Len(temp$)
t$ = Mid$(temp$, i, 1)
Select Case t$
Case "0", "1" 'only valid bit characters
Case Else
NumErr$ = NumErr$ + "Invalid Character (" + t$ + ") encountered. "
End Select
Next
If NumErr$ <> "" Then Exit Function
GoTo evaluateintegers
Case "&O"
temp$ = Mid$(temp$, 3)
For i = 1 To Len(temp$)
t$ = Mid$(temp$, i, 1)
Select Case t$
Case "0" To "7" 'only valid oct characters
Case Else
NumErr$ = NumErr$ + "Invalid Character (" + t$ + ") encountered. "
End Select
Next
If NumErr$ <> "" Then Exit Function
GoTo evaluateintegers
End Select
'Test for easy integers
'First check for positive/negative values; flag for invalid cases of multiple negation.
If Mid$(temp$, 1, 1) = "-" Then
negative = -1: temp$ = Mid$(temp$, 2) 'strip off the initial negative
ElseIf Mid$(temp$, 1, 1) = "+" Then
temp$ = Mid$(temp$, 2) 'strip off the initial positive
End If
For i = 1 To Len(temp$)
If Mid$(temp$, i, 1) = "-" Then minus = minus + 1
If Mid$(temp$, i, 1) = "+" Then plus = plus + 1
If Mid$(temp$, i, 1) = "." Then period = period + 1 'Go ahead and check for multiple periods while we're at it.
If Mid$(temp$, i, 1) = "E" Or Mid$(temp$, i, 1) = "D" Then
Exponent = Exponent + 1
If Mid$(temp$, i + 1, 1) = "-" Or Mid$(temp$, i + 1, 1) = "+1" Then ExponentSign = -1
End If
Next
If period = 0 And Exponent = 0 Then 'we should only have integers to process
For i = 1 To Len(temp$)
t$ = Mid$(temp$, i, 1)
If t$ < "0" Or t$ > "9" Then NumErr$ = NumErr$ + "Invalid Character (" + t$ + ") encountered. ": Exit Function
Next
GoTo evaluateintegers
End If
'At this point forward, we should only have REAL numbers to process
If Exponent > 1 Then NumErr$ = NumErr$ + "Multiple E/D exponent characters in string. ": Exit Function
If ExponentSign = 0 Then
If minus Then NumErr$ = NumErr$ + "Multiple negative signs (-) encountered. ": Exit Function
If plus Then NumErr$ = NumErr$ + "Multiple negative signs (-) encountered. ": Exit Function
Else
If minus > 1 Then NumErr$ = NumErr$ + "Multiple negative signs (-) encountered. ": Exit Function
If plus > 1 Then NumErr$ = NumErr$ + "Multiple negative signs (-) encountered. ": Exit Function
End If
If period > 1 Then NumErr$ = NumErr$ + "Multiple decimal points (.) encountered. ": Exit Function
If Exponent And period Then
e = InStr(temp$, "E")
If e = 0 Then e = InStr(temp$, "D")
If e = 0 Then e = InStr(temp$, "F")
p = InStr(temp$, ".")
If p > e Then NumErr$ = NumErr$ + "Decimal points (.) AFTER E/D/F exponent encountered. ": Exit Function
End If
For i = 1 To Len(temp$)
t$ = Mid$(temp$, i, 1)
Select Case t$
Case "0" To "9", "-", "+", ".", "D", "E", "F" 'we should have validated all these characters earlier
Case Else 'so anything else is invalid
NumErr$ = NumErr$ + "Invalid Character (" + t$ + ") encountered. ": Exit Function
End Select
Next
If NumErr$ <> "" Then Exit Function
'We should've passed all the error checking by this point -- I think...
evaluateintegers:
t## = Val(text$)
'first compare for all types
If Int(t##) = t## Then
If t## = -1 Or t## = 0 Then TempNum = TempNum Or 32 'signed bit
If t## >= -128 And t## <= 127 Then TempNum = TempNum Or 64 'signed byte
If t## >= -32768 And t## <= 32767 Then TempNum = TempNum Or 128 'signed integer
If t## >= -2147483648 And t## <= 2147483647 Then TempNum = TempNum Or 256 'signed long
If t## >= -9223372036854775808 And t## <= 9223372036854775807 Then
TempNum = TempNum Or 512 'signed integer64
TempNum = TempNum Or 16384 'signed offset
End If
If t## = 1 Or t## = 0 Then TempNum = TempNum Or 1 'unsigned bit
If t## >= 0 And t## <= 255 Then TempNum = TempNum Or 2 'unsigned byte
If t## >= 0 And t## <= 65535 Then TempNum = TempNum Or 4 'unsigned integer
If t## >= 0 And t## <= 4294967295 Then TempNum = TempNum Or 8 'unsigned long
If t## >= 0 And t## <= 18446744073709551615 Then
TempNum = TempNum Or 16 'unsigned integer64
TempNum = TempNum Or 8192 'unsigned offset
End If
End If
If t## >= -2.802597F45 And t## <= 3.402823F+38 Then
TempNum = TempNum Or 1024 'single
End If
If t## >= -4.490656458412465F324 And t## <= 1.797693134862310F+308 Then TempNum = TempNum Or 2048 'double
If t## >= -1.18F4932 And t## <= 1.18F+4932 Then TempNum = TempNum Or 4096 'float
If r Then 'we have specific suffix; only decide if the value is valid for it
TempNum = 0
If Not Unsigned Then 'unsigned
Select Case TestFor
Case 1
If t## = -1 Or t## = 0 Then TempNum = 32 'signed bit
Case 2
If t## >= -128 And t## <= 127 Then TempNum = 64 'signed byte
Case 3
If t## >= -32768 And t## <= 32767 Then TempNum = 128 'signed integer
Case 4
If t## >= -2147483648 And t## <= 2147483647 Then TempNum = 256 'signed long
Case 5, 9
If t## >= -9223372036854775808 And t## <= 9223372036854775807 Then
If TestFor = 5 Then
TempNum = 512 'signed integer64
Else
TempNum = 16384 'signed offset
End If
End If
Case 6
If t## >= -2.802597F-45 And t## <= 3.402823F+38 Then TempNum = 1024 'single
Case 7
If t## >= -4.490656458412465F-324 And t## <= 1.797693134862310F+308 Then TempNum = 2048 'double
Case 9
If t## >= -1.18F-4932 And t## <= 1.18F+4932 Then TempNum = 4096 'float
End Select
Else
Select Case TestFor
Case 1
If t## = 0 Or t## = 1 Then TempNum = 1 'unsigned bit
Case 2
If t## >= 0 And t## <= 255 Then TempNum = 2 'unsigned byte
Case 3
If t## >= 0 And t## <= 65535 Then TempNum = 4 'unsigned integer
Case 4
If t## >= 0 And t## <= 4294967295 Then TempNum = 8 'unsigned long
Case 5, 9
If t## >= 0 And t## <= 18446744073709551615 Then
If TestFor = 5 Then
TempNum = 16 'unsigned integer64
Else
TempNum = 8192 'unsigned offset
End If
End If
End Select
End If
If TempNum = 0 Then NumErr$ = "Invalid Suffix. "
End If
NumType = TempNum
End Function
I've shared this before on the forums, but it needed a little upgrade to also accept the "F" scientific notation style for _FLOATS, so here's the updated and latest version. This should tell you definitely if a string is a number or not.
|
|
|
| Nth problem with hardware images |
|
Posted by: Ikerkaz - 01-22-2026, 05:02 PM - Forum: Help Me!
- Replies (9)
|
 |
I know, I know. The problem is ME; I'm a complete idiot trying to understand hardware images...
Why isn't something as simple as this working? What on earth am I doing wrong? My apologies to everyone, and thank you for your patience 
Code: (Select All)
Option _Explicit
Randomize Timer
Dim As Long hardwareScreen, workScreen, Nave, Fondo, i
Screen _NewImage(1920, 1080, 32)
_FullScreen , _Smooth
workScreen = _NewImage(1920, 1080, 32)
Fondo = _LoadImage("C:\STRC\Espacio\3.jpg")
Nave = _LoadImage("C:\STRC\Naves\Constitution2\nave.png")
_PutImage (0, 0)-Step(1920, 1080), Fondo, workScreen
For i = 1 To 100
_PutImage (Rnd * 1920, Rnd * 1080), Nave, workScreen
Next
hardwareScreen = _CopyImage(workScreen, 33)
_Dest 0
_DisplayOrder _Hardware
_PutImage (0, 0), hardwareScreen
_Display
End
|
|
|
| IsAlpha etc |
|
Posted by: PhilOfPerth - 01-21-2026, 10:36 PM - Forum: Help Me!
- Replies (10)
|
 |
Do we have the equivalents of the IsAlpha, IsUpper, IsLower, and IsNum in QBPE? I have searched but could only find them in C++.
If not, could they be easily implemented? It seems to me that it would be fairly simple, and would be quite useful.
|
|
|
| Strings - Numbers |
|
Posted by: Kernelpanic - 01-20-2026, 10:29 PM - Forum: General Discussion
- No Replies
|
 |
Regarding converting string segments to numbers: Strings in numbers
I've looked at it again, and it only really gets complicated when dealing with two-digit numbers. I also tried passing the data to a procedure – the data transfer isn't the problem, only the result.
The program works as long as you don't go beyond the single-digit range. Maybe this will give someone some ideas.
Code: (Select All)
'ABCDEFGHIJ und 1234567890 tauschen die Plaetze: BCD und 234 -- 26. Dez. 2025
'Erweitert flexible Eingaben - 17. Jan. 2026
Option _Explicit
Dim As String strBuchstaben, strZahlen, strTeilbuchstaben, strTeilzahlen
Dim As String strNeuBuchstaben, strNeuZahlen
Dim As Integer position, bereich
strBuchstaben = "ABCDEFGHIJ"
strZahlen = "1234567890"
Locate 2, 3
Print "Buchstaben - Zahlentausch"
Locate 3, 3
Print "========================="
Locate 5, 3
Print strBuchstaben
Locate 6, 3
Print strZahlen
NeueEingabe:
'Position und Bereich des Austauschs flexibel
Locate 8, 3
Input "Position : ", position
Locate 9, 3
Input "Bereich(max 3): ", bereich
'Eingabefehler abfangen
If position < 1 Or position > 10 Then
Cls
Beep: Print
Print "Position zwischen 1 bis 10"
Sleep 2
GoTo NeueEingabe
End If
'Teilstring von beiden extrahieren. Von Position 2 an,
'3 Positionen. Also: BCD + 234
strTeilbuchstaben = Mid$(strBuchstaben, position, bereich)
Locate 11, 3
Print strTeilbuchstaben
strTeilzahlen = Mid$(strZahlen, position, bereich)
Locate 12, 3
Print strTeilzahlen
'In Buchstaben Zahlen einfuegen. Angabe der Position reicht!
strNeuBuchstaben = Left$(strBuchstaben, position) + strTeilzahlen + Mid$(strBuchstaben, 5)
Locate CsrLin + 2, 3
Print strNeuBuchstaben
'Umgekehrt: Buchstaben in Zahlen
strNeuZahlen = Left$(strZahlen, position) + strTeilbuchstaben + Mid$(strZahlen, 5)
Locate CsrLin + 1, 3
Print strNeuZahlen
End
|
|
|
Finaly, qb64pe-4.3.0 could work on macOS 10.13.6 (High Sierra) ! |
|
Posted by: Fifi - 01-20-2026, 02:53 PM - Forum: General Discussion
- No Replies
|
 |
@a740g @SMcNeill @RhoSigma
Hello the qb64pe devs' team.
As I mentioned in a previous post, I couldn't install qb64pe version 4.3.0 on my 27-inch iMac running macOS 10.13.6 because its setup_osx.command uses a newer version of gcc that isn't available with Xcode 10.1, making it unusable with this version of macOS (High Sierra).
True and False!
What's False?
In fact, this version of qb64pe (4.3.0) could work under High Sierra as you can see on my High Sierra desktop' screen-shot below showing both the macOS and qb64pe "about" panels (above my personnal iMac Dev's wallpaper) !
![[Image: High-Sierra-Screen-Shot.png]](http://iss2you.ddns.net/pictures/High-Sierra-Screen-Shot.png)
But there's a trick to making it work!
What's True?
The failled install is due to a "setting" in the compilation method that calls the wrong compiler version.
What's the trick?
Note:
My three 27-inch iMacs are well-configured with a 3.4 GHz i7 processor, 32 GB of RAM, and one SSD of varying capacities. My Mac Mini 2 Server, on the other hand, is equipped with a 2.4 GHz i7 processor, 16 GB of RAM, and a 2 TB SSD. These are older, inexpensive machines, all manufactured in 2012. Yet, they work perfectly, just like they did on day one, and that's precisely why I've only used Apple systems since my retirement: their reliability is undeniable! And noaday, you can find them used for between $250 and $500, depending on their CPU, GPU, RAM, and SSD configuration.
Since I'm real stubborn, and because of the numerous paid programs I've installed on macOS High Sierra (which is the reason I keep it as my OS of choice), I spent this last weekend downloading all versions of qb64pe from 3.0.0 to 4.3.0, then installing them all (each in a separate directory) and testing them all on my development 27-inch iMac (with its fast internal Crucial 4Tb SDD), including version 4.2.0, which installed and works like a charm!
So, I decided to compil the qb64pe.bas file located in the source directory of the version 4.3.0 directly from the IDE of the version 4.2.0 using the option "Output EXE to Source Folder" and lo and behold, not only the executable was created perfectly, but launched too!
I then copied the 2 files (qb64pe and qb64pe_start.command,) which had been created in the "source" directory of qb64pe-4.3.0, into the main directory of this version (4.3.0), and now qb64pe-4.3.0 could work on macOS High Sierra if you can also solve the Second problem below
Therefore, I don't know which parameter(s) were modified, nor where they are located in the compilation method of this version 4.3.0 compared to that of qb64pe 4.2.0 (ending with a nice "Launching 'QB64-PE'), which causes the execution of the 4.3.0 bash installation script to end with a subset of the following error messages:
Code: (Select All) errorerror: : invalidinvalid valuevalue 'gnu++20''gnu++20' inin '-std=gnu++20''-std=gnu++20'
notenote: : useuse 'c++98''c++98' oror 'c++03''c++03' forfor 'ISO C++ 1998 with amendments''ISO C++ 1998 with amendments' standardstandard
notenote: : useuse 'gnu++98''gnu++98' oror 'gnu++03''gnu++03' forfor 'ISO C++ 1998 with amendments and GNU extensions''ISO C++ 1998 with amendments and GNU extensions' standardstandard
notenote: : use use'c++11' 'c++11'for for'ISO C++ 2011 with amendments' 'ISO C++ 2011 with amendments'standard standard
note: use note'gnu++11': foruse 'ISO C++ 2011 with amendments and GNU extensions''gnu++11' standardfor
'ISO C++ 2011 with amendments and GNU extensions' standardnote
: use note'c++14': foruse 'ISO C++ 2014 with amendments''c++14' standardfor
'ISO C++ 2014 with amendments' standardnote
: use note'gnu++14': foruse 'ISO C++ 2014 with amendments and GNU extensions''gnu++14' standardfor
'ISO C++ 2014 with amendments and GNU extensions' standard
note: usenote : 'c++17' usefor 'c++17''ISO C++ 2017 with amendments' forstandard 'ISO C++ 2017 with amendments'
standard
note: noteuse: 'gnu++17'use for'gnu++17' for'ISO C++ 2017 with amendments and GNU extensions' 'ISO C++ 2017 with amendments and GNU extensions'standard standard
notenote: : useuse 'c++2a''c++2a' forfor 'Working draft for ISO C++ 2020''Working draft for ISO C++ 2020' standardstandard
notenote: : error: useuse 'gnu++2a''gnu++2a' invalidforfor 'Working draft for ISO C++ 2020 with GNU extensions''Working draft for ISO C++ 2020 with GNU extensions'value standardstandard'gnu++20'
in '-std=gnu++20'
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard
note: use 'c++17' for 'ISO C++ 2017 with amendments' standard
note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard
note: use 'c++2a' for 'Working draft for ISO C++ 2020' standard
note: use 'gnu++2a' for 'Working draft for ISO C++ 2020 with GNU extensions' standard
make: *** [internal/c/libqb/src/threading.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [internal/c/qbx.o] Error 1
make: *** [internal/c/libqb_make_00010100.o] Error 1
Compilation of QB64-PE failed!
So, could you please fix this problem by checking from a terminal session what macOS version "cw-vers -productVersion"
and what Xcode version "pkgutil --pkg-info=com.apple.pkg.CLTools_Executables" are running,
then choosing the right Xcode command line call to use accordingly?
Second problem:
If Qb64PE 4.3.0 can load, it cannot compile and returns the error message: C++ Compilation failed (Check ./internal/temp/compilelog.txt)
Code: (Select All) c++ -std=gnu++20 -fno-strict-aliasing -Wno-conversion-null -I./internal/c/libqb/include -I./internal/c/parts/core/freeglut/include -I./internal/c/parts/core/glew/include -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal/c/libqb.cpp -c -o internal/c/libqb_make_00000000.o
error: invalid value 'gnu++20' in '-std=gnu++20'
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard
note: use 'c++17' for 'ISO C++ 2017 with amendments' standard
note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard
note: use 'c++2a' for 'Working draft for ISO C++ 2020' standard
note: use 'gnu++2a' for 'Working draft for ISO C++ 2020 with GNU extensions' standard
make: *** [internal/c/libqb_make_00000000.o] Error 1
So, could you please fix this second problem that should be done with the right installation as requested above.
I bet this would help for future qb64pe releases running old macOS releases too.
Cheers.
Fifi
|
|
|
|