using io.popen or os.execute, on a windows release build causes command prompt to appear on screen for a very brief period.
The biggest issue is that, besides being jarring, most users are going to believe that the game contains a virus when they open it up and see 3 consoles flash.
why is this happening? if there’s no fix, are there alternative builtin functions to replace calls to those commands?
currently i am using them to get map files in a directory, as well as to delete other files that the program can create.
These functions call straight to C and whatever happens is outside of our control. As an example, os.execute() will call system():
The system() library function behaves as if it used fork(2) to
create a child process that executed the shell command specified
in command using execl(3) as follows:
execl("/bin/sh", "sh", "-c", command, (char *) NULL);
I would recommend that you use the functions of LuaFileSystem to get the files in a folder:
/home/frog/Desktop/conformer/build/x86_64-linux/dmengine: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/frog/Desktop/conformer/build/x86_64-linux/dmengine)
/home/frog/Desktop/conformer/build/x86_64-linux/dmengine: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/frog/Desktop/conformer/build/x86_64-linux/dmengine)
Ah, Ubuntu 20.04 will reach end of life on May 31 2025 which means that we will also no longer support it. We updated Defold ahead of time and we now build the engine using Ubuntu 22.04 LTS.