程式語言 - FreeBASIC - Win32 API - 開發環境



參考資訊:
https://www.freebasic.net/
https://sourceforge.net/projects/fbc/files/

司徒目前是使用Box86 + Wine當作開發測試環境,Box86可以用來執行Intel x86指令集的程式,Box64則是可以用來執行Intel x64指令集的程式,而Wine則是可以用來跑Windows程式,Wine是Windows API層相容,但不是二進制層相容,意思就是,如果Wine是ARM armhf版本的話,Wine執行的程式就必須是ARM armhf指令集的程式,而如果Wine是Intel x86/x64版本,Wine執行的程式就必須是Intel x86/x64指令集的程式,這也是為何Windows PE程式(Intel x86/x64)可以在Linux PC(Intel x86/x64)下用Wine來執行的原因,而司徒目前是要在手機(ARM aarch64)上開發Windows x86/x64程式,所以才需要使用Box86 + Wine,司徒使用的Wine版本支援Intel x86(wine)/x64(win64)程式,安裝步驟如下:

$ cd
$ wget https://github.com/steward-fu/website/releases/download/pro1/Box86-64_Wine86-64.sh
$ chmod a+x ./Box86-64_Wine86-64.sh
$ ./Box86-64_Wine86-64.sh

$ WINEPREFIX=/home/user/.wine_amd64 box86 wine winecfg

DPI設定成144


安裝

$ cd
$ wget http://downloads.sourceforge.net/fbc/FreeBASIC-1.10.1-winlibs-gcc-9.3.0.7z?download -O FreeBASIC-1.10.1-winlibs-gcc-9.3.0.7z
$ 7za x FreeBASIC-1.10.1-winlibs-gcc-9.3.0.7z
$ mv FreeBASIC-1.10.1-winlibs-gcc-9.3.0 /home/user/.wine_amd64/drive_c/fbc

添加環境變數

$ WINEPREFIX=/home/user/.wine_amd64 box86 wine regedit

PATH

C:\fbc



測試環境變數是否設定正確

$ WINEPREFIX=/home/user/.wine_amd64 box86 wine fbc32 --version
    FreeBASIC Compiler - Version 1.10.1 (2023-12-24), built for win32 (32bit)
    Copyright (C) 2004-2023 The FreeBASIC development team.
    standalone