1. 程式人生 > 其它 >c++builder 10.3.3 整合 alcinoe 元件集

c++builder 10.3.3 整合 alcinoe 元件集

結論,alcinoe 元件適合 delphi 跨平臺開發,如果用 c++ builder 可以在 windows 上使用, android 上編譯時會有問題。

以下為試用過程,

為了在 App 中增加音視訊功能,在 github 上找到了 alcinoe 元件,也可以從 svn://svn.code.sf.net/p/alcinoe/code 上 checkout,總大小約為 700M。安裝前,一定先閱讀 readme.md 檔案。

按照上圖的步驟,依次操作,都要做。下面詳細解釋過程,

1,在 Delphi 中安裝,

1.1,開啟 windows 控制面板,在 path 變數中增加“D:\08原始碼\FMX\alcinoe\source”。路徑中包含中文也沒有關係。我的系統中還安裝了 VS2019 ,沒有發現衝突。

1.2,匯入 Alcinoe 元件。選單 Component - Install Packages,因為 IDE 是10.3.3,所以選擇“D:\08原始碼FMX\alcinoe\lib\bpl\alcinoe\Win32\rio\Alcinoe_rio.bpl”。github 原始碼中只有 rio 和 sydney 兩個版本的檔案,如果 RAD 低於10.3 就要升級了。

1.3,alcinoe 升級 RAD 10.3.3 的原始碼。這一步驟很是花了一天時間。因為執行 update.bat 時遇到的一個相對路徑的問題,一直犯迷糊。命令在從 IDE 中拷貝檔案到“D:\08原始碼\FMX\alcinoe\embarcadero\rio\10_3_3”之後,執行 git apply 命令時,顯示“No such file or directory”。

正確的方式,首先,保證安裝了 git,我的是“Git-2.32.0-64-bit.exe”,其次,執行cmd命令時要有管理員許可權,第三,保證命令的執行路徑,要在 alcinoe 的根目錄“D:\08原始碼\FMX\alcinoe”執行 update.exe,切記路徑不要搞錯了。

1.4,複製新“D:\08原始碼\FMX\alcinoe\tools\D8Proxy\dx.bat”檔案到“C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\build-tools\29.0.3”,覆蓋原檔案,建議先備份原來的 dx.bat 檔案。

這裡也有個坑,dx.bat 檔案的內容要修改,否則編譯 android 工程時會出錯。要把檔案中的兩個變數的路徑值修改為自己電腦上的路徑。

set librariesRootPath=D:\08原始碼\FMX\alcinoe\lib\jar
set AndroidPlatformsSDKRootPath=C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platforms\android-29

1.5,接下來,開啟Delphi,新工程要在所有的工程中增加四個路徑。

1.6,在 Demos 中開啟工程 ALFmxControls,選擇 android 64-bit ,編譯併發布到手機上。這個工程也是作者放在 github 上展示效能的示例。

手機示例,

2,接下來要在 C++Builder 中使用 TALEdit 元件(引用原始碼的方式)。

2.1,在 CB 中 Install package,完成後顯示在元件庫中,

2.2,新建一個 空的 Multi-Device Application,並放置一個 TALEdit,

2.3,與 Delphi 不同,CB 中 win32 編譯時會產生的一些問題,於是在工程中增加與 TALEdit 引用的 pas 原始碼和 alcinoe_rio.lib 靜態庫,以及設定工程的引用路徑,之後即可編譯並執行。

2.4,選擇在 android32 環境下編譯,會提示找不到靜態庫 libAlcinoe_rio.a 等四個檔案。原始碼目錄中並沒有這四個檔案,為什麼增加了原始碼,還會要庫檔案。

單擊 cancel 之後,顯示提示如下,

這條路有些走不通。