程式語言 - C++ Builder 6 - Visual Component Library (VCL) - 開發環境



司徒目前是使用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)程式

安裝步驟:

$ sudo apt-get install \
    gcc-arm* \
    clang \
    llvm \
    lld \
    wine \
    wine32-tools \
    wine-development \
    libwine \
    fonts-wine -y

$ cd
$ git clone https://github.com/ptitSeb/box86
$ mkdir box86/build
$ cd box86/build
$ cmake ..
$ make
$ sudo make install

P.S. 如果是在ARM64上面編譯,使用cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

使用司徒預先做好的Wine環境

$ cd
$ wget https://github.com/steward-fu/website/releases/download/wdm/wine_env.tar.gz
$ sudo vim /usr/local/bin/myx86
    #!/bin/bash
    WINEPREFIX=~/.wine_x86 box86 wine "$@"

$ sudo chmod a+x /usr/local/bin/myx86
$ tar xvf wine_env.tar.gz
$ myx86 --version
    wine-8.20

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

$ myx86 bcc32 --version
    Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland