Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Qb64 is inherently broken (simple example)
#1
Just doing a loop, I should expect it to display 2 variables to display in sequence. But no...

-----------------------
For x1 = 0 To 255
For x2 = 0 To 255
        Print x2, x1
        Sleep
    Next x2
Next x1
--------------------

I cannot even get it to do a simple loop. It kicks out the compile log and gives me this overly verbose error:

"
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal/c/qbx2.cpp -c -o internal/c/qbx2.o
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE ./internal/c/libqb_make_000000000000.o  ./internal/c/qbx2.o -o "untitled"  ./internal/c/libqb/src/threading.o ./internal/c/libqb/src/buffer.o ./internal/c/libqb/src/filepath.o ./internal/c/libqb/src/datetime.o ./internal/c/libqb/src/rounding.o ./internal/c/libqb/src/http-stub.o ./internal/c/libqb/src/threading-posix.o ./internal/c/libqb/src/glut-main-thread.o ./internal/c/libqb/src/glut-message.o ./internal/c/libqb/src/glut-msg-queue.o ./internal/c/parts/gui/tinyfiledialogs.o ./internal/c/parts/gui/gui.o ./internal/c/parts/video/font/stub_font.o ./internal/c/parts/core/src.a  -lGL -lGLU -lX11 -lpthread -ldl -lrt
objcopy --only-keep-debug "untitled" "./internal/temp2/untitled.sym"
objcopy --strip-unneeded "untitled"
"

In Quickbasic 4.5 for Dosbox, it works fine. This is BS.

Making me really rethink just dropping this and going back to VB6 or hell, even Dos and qb4.5. At least it will work!
Reply
#2
Did you extract the new version over an old version?  If so, that's the issue.

I'd suggest grabbing a fresh download, extracting it to a new directory for testing, and see if the issue persists.  QB64 -- PE, Team QB, or Official -- all will compile and run such code with zero issues.  The problem isn't with QB64; it's something specific on your end.  Don't you think we'd have *dozens* of error reports by now, if something as simple as running two FOR loops and a PRINT wouldn't compile properly for folks???
Reply
#3
(03-06-2024, 10:09 PM)JamesAlexander Wrote: Just doing a loop, I should expect it to display 2 variables to display in sequence. But no...

-----------------------
For x1 = 0 To 255
For x2 = 0 To 255
        Print x2, x1
        Sleep
    Next x2
Next x1
--------------------

I cannot even get it to do a simple loop. It kicks out the compile log and gives me this overly verbose error:

"
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal/c/qbx2.cpp -c -o internal/c/qbx2.o
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE ./internal/c/libqb_make_000000000000.o  ./internal/c/qbx2.o -o "untitled"  ./internal/c/libqb/src/threading.o ./internal/c/libqb/src/buffer.o ./internal/c/libqb/src/filepath.o ./internal/c/libqb/src/datetime.o ./internal/c/libqb/src/rounding.o ./internal/c/libqb/src/http-stub.o ./internal/c/libqb/src/threading-posix.o ./internal/c/libqb/src/glut-main-thread.o ./internal/c/libqb/src/glut-message.o ./internal/c/libqb/src/glut-msg-queue.o ./internal/c/parts/gui/tinyfiledialogs.o ./internal/c/parts/gui/gui.o ./internal/c/parts/video/font/stub_font.o ./internal/c/parts/core/src.a  -lGL -lGLU -lX11 -lpthread -ldl -lrt
objcopy --only-keep-debug "untitled" "./internal/temp2/untitled.sym"
objcopy --strip-unneeded "untitled"
"

In Quickbasic 4.5 for Dosbox, it works fine. This is BS.

Making me really rethink just dropping this and going back to VB6 or hell, even Dos and qb4.5. At least it will work!
Can you clarify what the IDE said, just a generic `C++ compilation error` message? That log shows a successful compilation, there's no error. If you run the created `untitled` executable then it should work.
Reply
#4
I'm having problems, too.

Code: (Select All)
Color 0: CLS

Oh sure it compiled, but when it executed there was NOTHING on the screen!

Pete Rolleyes

- Sorry, channeling Clippy again.
Shoot first and shoot people who ask questions, later.
Reply
#5
(03-06-2024, 10:26 PM)DSMan195276 Wrote:
(03-06-2024, 10:09 PM)JamesAlexander Wrote: Just doing a loop, I should expect it to display 2 variables to display in sequence. But no...

-----------------------
For x1 = 0 To 255
For x2 = 0 To 255
        Print x2, x1
        Sleep
    Next x2
Next x1
--------------------

I cannot even get it to do a simple loop. It kicks out the compile log and gives me this overly verbose error:

"
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal/c/qbx2.cpp -c -o internal/c/qbx2.o
g++  -no-pie -w -std=gnu++11 -DFREEGLUT_STATIC -I./internal/c/libqb/include -I./internal/c/parts/core/src/ -I./internal/c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE ./internal/c/libqb_make_000000000000.o  ./internal/c/qbx2.o -o "untitled"  ./internal/c/libqb/src/threading.o ./internal/c/libqb/src/buffer.o ./internal/c/libqb/src/filepath.o ./internal/c/libqb/src/datetime.o ./internal/c/libqb/src/rounding.o ./internal/c/libqb/src/http-stub.o ./internal/c/libqb/src/threading-posix.o ./internal/c/libqb/src/glut-main-thread.o ./internal/c/libqb/src/glut-message.o ./internal/c/libqb/src/glut-msg-queue.o ./internal/c/parts/gui/tinyfiledialogs.o ./internal/c/parts/gui/gui.o ./internal/c/parts/video/font/stub_font.o ./internal/c/parts/core/src.a  -lGL -lGLU -lX11 -lpthread -ldl -lrt
objcopy --only-keep-debug "untitled" "./internal/temp2/untitled.sym"
objcopy --strip-unneeded "untitled"
"

In Quickbasic 4.5 for Dosbox, it works fine. This is BS.

Making me really rethink just dropping this and going back to VB6 or hell, even Dos and qb4.5. At least it will work!
Can you clarify what the IDE said, just a generic `C++ compilation error` message? That log shows a successful compilation, there's no error. If you run the created `untitled` executable then it should work.
@Dsman: Yes. It could not compile as shown, so I checked the compilelog.txt and I got this. Despite what is being shown in that log, it does not compile with this. I am using stock g++ on Lubuntu.

@SMcNeill: I did not install anything. I was on it last night and writing code. When I came back to it, I could not compile anything, even a simple "hello world" program.
Reply
#6
Next thing I'd ask is about anti-virus.  Is your QB64 folder in a whitelisted folder?  Is the EXE being quaranteed as fast as it's being generated?
Reply
#7
Thanks Dsman, I got it. The problem was that I have 2 instances running, when normally there should be one.

Normally I am ok with the defaults, but if there is anything more than "Untitled" (i.e: if it generates Untitled2, etc), I cannot compile anything unless I revert back to the original.

It will work as a single instance, but when you go and try to do a second instance of QB64, all hell will break loose unless you stop what you were doing and go back and try again.

I am scratching my head as to whether or not this default scenario will work for everyone. It seems like a hack and just bubblegum and sticky tape holding things together? At least that's the way that it seems to be... Undecided
Reply
#8
Quote:@SMcNeill: I did not install anything. I was on it last night and writing code. When I came back to it, I could not compile anything, even a simple "hello world" program.
QB64 comes as a bundle, and I would not want to try using it otherwise. If you download the latest version, v3.12, or the last version, V3.11 then you should not experience the problem you reported.

I'm using Windows, so I'm not familiar with any Linux differences, which could be some factor here that I am unaware of, but DSMan I believe is a Linux user. unless he gave it up for Lent.

Pete
Reply
#9
@JamesAlexander - I would try saving your code into a file (not named `untitled.bas`) and see if that resolves the issue. It seems like the IDE is confused and thinks the compilation to `untitled` failed when it actually didn't, and consequently didn't try to run your program. Changing the source name will also change the name of the produced executable and that may fix whatever it's confused about.
Reply
#10
(03-06-2024, 10:56 PM)SMcNeill Wrote: Next thing I'd ask is about anti-virus.  Is your QB64 folder in a whitelisted folder?  Is the EXE being quaranteed as fast as it's being generated?

It is Lubuntu Linux, so there generally is minimal intervention or none at all causing this problem from an antivirus standpoint.

I cannot tell if it is getting to the compilation or not, but after combing through the logs and dsman had mentioned "Untitled", I noticed "Untitled2" where it should say "Untitled" and there was a second folder named "temp2", where there should only be "temp" (hence, the original setting).

I am not sure if the Windows version does things under the hood differently from Linux, but it appears that it is very specific in what it wants.

If you deviate from the settings with with another instance, it will try to create that instance, but it will fail. Only then when you go back to the original setting will it succeed as if nothing is wrong.
Reply




Users browsing this thread: 5 Guest(s)