07-06-2022, 12:44 AM (This post was last modified: 08-17-2023, 03:30 AM by eoredson.)
Attached is the S.I.C.K. project..
This file is:
The Symbolic Instruction Code Kit, which contains a QB64 program named SIC64.BAS
and several smaller utility programs. The source code is public domain and can be
found on several sites, including, filegate.net and keepandshare.com
This program uses a recursive descent parser to interpret a psuedo-basic language
written in a line oriented fashion and can be used for small programming chores.
The archive also contains some further imbedded .zip files which contain several
QB64 sample programs, and some .SIC programs which are used by the SIC engine.
Thank you,
Erik Jon Oredson
You may contact me at my email:
eoredson@gmail.com
07-27-2022, 09:53 PM (This post was last modified: 07-27-2022, 10:32 PM by mnrvovrfc.
Edit Reason: Windows only!
)
Thank you for this.
What a shame, Windows only. Should have known file extension "ZIP" in uppercase might not be recognized by file manager on Linux, while "zip" is. Doesn't work on Linux besides having to make all filenames in lowercase letters. First QB64 couldn't find "sic64.ico", then "mem.h" and finally can't continue because I need to fake a system DLL. I don't want to depend on Wine for this.
(07-27-2022, 09:53 PM)mnrvovrfc Wrote: Thank you for this.
What a shame, Windows only. Should have known file extension "ZIP" in uppercase might not be recognized by file manager on Linux, while "zip" is. Doesn't work on Linux besides having to make all filenames in lowercase letters. First QB64 couldn't find "sic64.ico", then "mem.h" and finally can't continue because I need to fake a system DLL. I don't want to depend on Wine for this.
I'm sorry it was written for Win10 exclusively and Linux is case-sensitive. All I know is that QB64 is cross-platform compatible.
I have used Linux in the past so I know how it functions. Your best bet is to try it in Wine as a last resort.
I had QB64 PE v0.6 thus I decided to upgrade to v0.8.2. I moved all the BAS files and a few others into the same directory as QB64.exe because I had a hard time otherwise. But trying to compile "SIC64.BAS" I get C++ compilation errors.
Code: (Select All)
Directory of C:\Users\fc\A\QBPE
07/30/2022 03:58 AM <DIR> .
07/30/2022 03:58 AM <DIR> ..
08/17/2018 09:44 PM 22,448 ANALYZE.BAS
06/11/2022 10:21 AM 1,597 CHANGELOG.md
06/11/2022 10:21 AM 61 COPYING.txt
08/17/2018 09:44 PM 7,496 INDENT.BAS
06/11/2022 10:21 AM <DIR> internal
06/11/2022 10:04 AM <DIR> licenses
06/11/2022 10:21 AM 9,239 Makefile
07/23/2016 10:55 PM 2,985 MEM.H
06/16/2022 10:35 AM <DIR> QB64-MOD-Player-main
06/11/2022 10:21 AM 932 qb64.1
06/11/2022 10:21 AM 8,805,928 qb64.exe
06/11/2022 10:21 AM 2,271 README.md
08/17/2018 09:44 PM 19,481 RENUMBER.BAS
08/17/2018 09:45 PM 8,641 SIC.INC
05/30/2022 12:33 AM 672,318 SIC64.BAS
05/07/2022 12:33 AM 85,182 SIC64.ICO
08/17/2018 09:44 PM 4,864 SICHELP.BAS
07/30/2022 02:12 AM <DIR> SICK64D6
06/11/2022 10:04 AM <DIR> source
14 File(s) 9,643,443 bytes
7 Dir(s) 392,541,564,928 bytes free
Beginning C++ output from QB64 code...
[................................................. ] 98%
Beginning C++ output from QB64 code...
[..................................................] 100%
Compiling C++ code into EXE...
ERROR: C++ compilation failed.
Check .\internal\temp\compilelog.txt for details.
C:\Users\fc\A\QBPE>type internal\temp\compilelog.txt
internal\c\c_compiler\bin\c++.exe -w -DGLEW_STATIC -DFREEGLUT_STATIC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE -DDEPENDENCY_AUDIO_CONVERSION -DDEPENDENCY_AUDIO_DECODE -DDEPENDENCY_AUDIO_OUT internal\c/libqb.cpp -c -o internal\c/libqb/libqb_make_0000110001110.o
internal\c\c_compiler\bin\c++.exe -w -DGLEW_STATIC -DFREEGLUT_STATIC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE -DDEPENDENCY_AUDIO_CONVERSION -DDEPENDENCY_AUDIO_DECODE -DDEPENDENCY_AUDIO_OUT internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\windres.exe -i internal\temp\icon.rc -o internal\temp\icon.o
internal\c\c_compiler\bin\objcopy.exe -Ibinary -Oelf64-x86-64 -Bi386:x86-64 internal\temp/data.bin internal\temp/data.o
internal\c\c_compiler\bin\gcc.exe -Wall internal\c/parts/audio/conversion/src/resample.c -c -o internal\c/parts/audio/conversion/src/resample.o
internal\c\c_compiler\bin\gcc.exe -Wall internal\c/parts/audio/decode/mp3_mini/src/minimp3.c -c -o internal\c/parts/audio/decode/mp3_mini/src/minimp3.o
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c: In function 'mp_decode_layer3':
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c:2105:39: warning: variable 'private_bits' set but not used [-Wunused-but-set-variable]
int nb_granules, main_data_begin, private_bits;
^~~~~~~~~~~~
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c: In function 'mp3_decode_main':
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c:2384:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (s->error_protection)
^~
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c:2387:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
nb_frames = mp_decode_layer3(s);
^~~~~~~~~
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c: In function 'mp3_decode_init':
internal\c/parts/audio/decode/mp3_mini/src/minimp3.c:2451:26: warning: variable 'n' set but not used [-Wunused-but-set-variable]
unsigned int n;
^
internal\c\c_compiler\bin\gcc.exe -Wall internal\c/parts/audio/decode/ogg/src/stb_vorbis.c -c -o internal\c/parts/audio/decode/ogg/src/stb_vorbis.o
internal\c\c_compiler\bin\gcc.exe -Wall -D AL_LIBTYPE_STATIC internal\c/parts/audio/out/src/winmm.c -c -o internal\c/parts/audio/out/src/winmm.o
In file included from internal\c/qbx.cpp:2514:
internal\c/..\\temp\\main.txt: In function 'void SUB_WRITECONFIG()':
internal\c/..\\temp\\main.txt:67267:109: error: cast from 'HANDLE' {aka 'void*'} to 'int' loses precision [-fpermissive]
*__UOFFSET_HFIND=( int32 )CreateFile((char*)(_SUB_WRITECONFIG_STRING_F)->chr, 384 ,NULL,NULL, 2 ,NULL,NULL);
^
In file included from internal\c/qbx.cpp:2514:
internal\c/..\\temp\\main.txt: In function 'void SUB_MENU3()':
internal\c/..\\temp\\main.txt:75416:112: error: cast from 'HANDLE' {aka 'void*'} to 'int' loses precision [-fpermissive]
*_SUB_MENU3_OFFSET_HFIND4=( int32 )CreateFile((char*)(_SUB_MENU3_STRING_F)->chr, 384 ,NULL,NULL, 4 ,NULL,NULL);
^
internal\c/..\\temp\\main.txt:75498:112: error: cast from 'HANDLE' {aka 'void*'} to 'int' loses precision [-fpermissive]
*_SUB_MENU3_OFFSET_HFIND4=( int32 )CreateFile((char*)(_SUB_MENU3_STRING_F)->chr, 384 ,NULL,NULL, 1 ,NULL,NULL);
^
mingw32-make: *** [Makefile:337: internal\c/qbx.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
Previously with QB64 PE v0.6 I only got the "warning" related to "CreateFile" function listed a few lines from the bottom of "code" window.
There were a few error messages about "audio" and "conversion" and "MP3" so I ventured compiling my "diverseplay.bas" with the latest QB64 PE and succeeded. So I don't know what's going on or if it's just my computer.
Sounds like the process might have been interrupted by a "Linux Update." Oh...
Looking over the error report makes me think INCLUDE files may not have been present. If you moved files, maybe that was the case.
I have experienced a few times in most versions of QB64 where compilation fails, for no apparent reason. Something as simple as deleting a blank line and running a compiler again fixes these weird rare issues. If that should happen again, I think I'll make a copy of the log to see what's up.
Pete
If eggs are brain food, Biden takes his scrambled.
I don't know much about GNU C++ Compilation errors and I don't know what QB64 PE is but I do know
that I am running QB64 v2.0.2 32-bit in Win10 and it seems to work well. Maybe you have the wrong version of QB64..
(08-09-2022, 03:23 AM)eoredson Wrote: I don't know much about GNU C++ Compilation errors and I don't know what QB64 PE is but I do know
that I am running QB64 v2.0.2 32-bit in Win10 and it seems to work well. Maybe you have the wrong version of QB64..
This is only one place where Mr. McNeill explained what happened which is why now we have "Phoenix Edition". The version you have will be the absolute last one of its kind. Anyway, we're talking about the same product but with some realignment of the developers.
For all intents and purposes this v0.8.2 is the latest version of QB64, which I used to try to come up with your interpreter on Windows10 21H2 64-bit.
I showed the error log to demonstrate I was unsuccessful coming up with an EXE file out of your product. Couldn't do it on Linux obviously, so I tried on Windows. Maybe your code didn't need adjustment and it might be a problem at my end, but the QB64 compiler required the BAS file, the H file, ICO file and a few other things in the same directory as QB64.EXE which is what I've done. Hmm could it be that I should try again in 32-bit?
I didn't know PE stood for "Phoenix Edition" so the only solution is to try QB64 32-bit as I have
had limited success with 64-bit. Otherwise it is a problem with included .DLL library calls.