问题描述
我通过下载basic example并相应地在mingw32上设置了GCC,成功地从Allegro Wiki编译并链接了binaries(完全不变)。编译不会产生任何错误,与库的链接也不会产生任何错误。此时,没有其他库正在使用。
运行生成的可执行文件时,不会向输出流显示任何输出,并且程序将以代码127退出。
我正在32位MinGW下使用GCC 9.2.0进行编译,并在64位Windows上运行。如果不匹配,可能会出现链接错误,但事实并非如此(可悲)。
我不知道是什么原因造成的,如果不搁置它,我们很乐意继续发展。感谢所有帮助。
编辑1
GDB在这里并没有太大帮助,它仅说明以下内容。
但是,它确实给出了退出代码的含义的更好的思路-从我读到的0xc0000139
是Windows无法加载DLL的时候。我不完全理解为什么,这些DLL位于PATH中(特别是在MinGW /bin
目录中)。我也尝试将它们放在可执行文件的目录中毫无用处。
(gdb) b main
Breakpoint 1 at 0x401421: file main.c,line 6.
(gdb) run
Starting program: D:\dev\genart-allegro/genart-allegro.exe
[New Thread 4712.0x1a2c]
[New Thread 4712.0x1674]
[New Thread 4712.0xfac]
[New Thread 4712.0x34d4]
During startup program exited with code 0xc0000139.
编辑2
静态链接Allegro解决了该问题,但是我仍然无法解释为什么动态链接不起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)