Built fine now. When running VFBE it said libmff64_gtk3.so is missing. I renamed mff64.dll to libmff64_gtk3.so and now it could proceed running but crashed when attempting to search for installed compiler. The compiler (fbc32.exe and fbc64.exe) is already on Windows' PATH. I don't try any further as it built fine is enough for me now.Xusinboy Bekchanov wrote:You can download the latest version from github.j8w344c6 wrote:Currently it will error as __USE_GTK3__ definition is duplicated. I removed -d __USE_GTK3__ and MFF is built fine. VFBE's build fails at frmMenuEditor.frm(48) error 4: Duplicated definition, BGR.Xusinboy Bekchanov wrote: You can compile like this:
fbc.exe" -b "VisualFBEditor.bas" -exx -v -x "../VisualFBEditor32.exe" "VisualFBEditor.rc" -g -d __USE_GTK__ -d __USE_GTK3__ -i "D:\GitHub\VisualFBEditor/./MyFbFramework" -p "D:\FreeBasic\msys2\msys32\mingw32\lib"
fbc.exe" -b "mff.bi" -exx -v -x "../mff32.dll" "mff.rc" -dll -g -d __USE_GTK__ -d __USE_GTK3__ -i "D:\GitHub\VisualFBEditor/./MyFbFramework" -p "D:\FreeBasic\msys2\msys32\mingw32\lib"
p/s: I'm building for 64 bit so I changed your commands accordingly. I also changed the syntax to be Windows cmd.exe friendly as I don't use the MSYS2 shell (I have it but simply don't want to use). I got the GTK3 dlls from Geany's bin directory.
For details:
This script copy Geany's dlls and rename them to satisfy fbc. It's simply remove the extra "-0" from their names. It's placed on C:\Toolchain\VFBE\Geany and also ran from there.
@ECHO OFF
SET GEANY="C:\Toolchain\Geany\bin"
SET DESTDIR=%~dp0
copy %GEANY%\libglib-2.0-0.dll %DESTDIR%\libglib-2.0.dll
copy %GEANY%\libgthread-2.0-0.dll %DESTDIR%\libgthread-2.0.dll
copy %GEANY%\libgtk-3-0.dll %DESTDIR%\libgtk-3.dll
copy %GEANY%\libgdk-3-0.dll %DESTDIR%\libgdk-3.dll
copy %GEANY%\libgio-2.0-0.dll %DESTDIR%\libgio-2.0.dll
copy %GEANY%\libgobject-2.0-0.dll %DESTDIR%\libgobject-2.0.dll
copy %GEANY%\libgmodule-2.0-0.dll %DESTDIR%\libgmodule-2.0.dll
copy %GEANY%\libpango-1.0-0.dll %DESTDIR%\libpango-1.0.dll
copy %GEANY%\libcairo-2.dll %DESTDIR%\libcairo.dll
copy %GEANY%\libgdk_pixbuf-2.0-0.dll %DESTDIR%\libgdk_pixbuf-2.0.dll
copy %GEANY%\libpangocairo-1.0-0.dll %DESTDIR%\libpangocairo-1.0.dll
copy %GEANY%\libatk-1.0-0.dll %DESTDIR%\libatk-1.0.dll
This script is placed on VisualFBEditor\MyFbFramework\mff.
@ECHO OFF
SET folder=%~dp0..\
fbc64.exe -b "mff.bi" -exx -v -x "%folder%\mff64.dll" "mff.rc" -dll -g -d __USE_GTK__ -d __USE_GTK3__ -i "%folder%\MyFbFramework" -p "C:\Toolchain\VFBE\Geany"
This script is placed on VisualFBEditor\src.
@ECHO OFF
SET folder=%~dp0..\
fbc64.exe -b "VisualFBEditor.bas" -exx -v -x "%folder%\VisualFBEditor64.exe" "VisualFBEditor.rc" -g -d __USE_GTK__ -d __USE_GTK3__ -i "%folder%\MyFbFramework" -p "C:\Toolchain\VFBE\Geany"
Everything built fine without any warnings. But strangely enough, when running VisualFBEditor64.exe it expects the dlls to have "-0" in their names (their original names) but not what we prepared in the previous step (I added C:\Toolchain\VFBE\Geany to PATH only to realize this). Then I added C:\Toolchain\Geany\bin to PATH and now it runs.