2016-10-31 50 views
0

我找不到方法使Allegro5FreeBasic在Windows上一起使用。
我下载并安装了FreeBASIC-1.05.0-win32.exe。
我下载了Allegro binaries allegro-5.0.10-mingw-4.7.0。
安装的fbc版本是独立版本。 我创建allegrolibs文件夹并从快板分布allegrolibs复制这些库:Allegro 5和FreeBASIC

liballegro_5.0.10-md.a 
    liballegro_font-5.0.10-md.a 
    liballegro_ttf-5.0.10-md.a 

我添加了必要的快板的dll从快板分布实例/图形/快板:

allegro_font-5.0.10-md.dll 
    allegro_ttf-5.0.10-md.dll 
    allegro-5.0.10-md.dll 

我运行FBC从命令行尝试从examples/graphics/allegro5编译hello.bas:

fbc -s gui -p allegrolibs examples/graphics/allegro5/hello.bas 

程序编译得很好。
然而,在运行时用hello.exe表明我这个错误:

The program can't start because libgcc_s_dw2_1.dll is missing from your computer. 

从FreeBASIC \ BIN \ WIN32到用hello.exe所在的文件夹复制libgcc_s_dw2_1.dll,然后运行:

The program can't start because libstdc++-6.dll is missing from your computer. 

添加的libstdC++ - 从ming4.7.0二进制分发6.dll然后运行:

The program can't start because libgcc_s_sjlj-1.dll is missing from your computer. 

从ming4.7.0二进制分发版添加libgcc_s_sjlj-1.dll文件,然后运行:

The program can't start because libwinpthread-1.dll is missing from your computer. 

从ming4.7.0二进制分发版添加libwinpthread-1.dll文件,然后运行:

The procedure entry point __gxx_personality_v0 could not be located 
    in the dynamic link library libstd++-6.dll. 

在这一点上,我卡住了。我做错了什么?任何尝试过并能解决问题的人都愿意帮助解决这个问题?

回答

0

用于Windows的allegro-5.0.10-mingw-4.7.0二进制文件是使用mingw-4.7.0编译器编译的。
freeBASIC是用mingw-w64编译器编译的。 但是就动态链接而言,它们可以一起工作。 的二进制包的Windows快板-5.0.10-MinGW的-4.7.0在许多其他事情包含两个文件:

allegro-5.0.10-monolith-mt.dll 
liballegro-5.0.10-monolith-mt.a 

其中任何可以用来快板5库链接到exe文件:
复制allegro-5.0.10-monolith-mt.dll或liballegro-5.0.10-monolith-mt.a放在allegrolib文件夹中。 修改allegro.bi,allegro_font.bi,allegro_ttf.bi线35与替换:

#inclib "allegro-5.0.10-monolith-mt" 

从控制台运行:

fbc -s gui -p allegrolib examples/graphics/allegro5/hello.bas 

快板-5.0.10-整料-mt.dll需要与hello.exe放在同一个文件夹中。