我已經看到,使用Free Pascal配置交叉編譯是可能的,但並不容易,因爲系統上必須有目標操作系統的庫。我可以與其他平臺的Free Pascal交叉編譯(無需鏈接)嗎?
但我只需要一個快速的語法檢查來驗證項目是否可以編譯,不需要鏈接可執行文件。
那麼:是否有編譯選項,我可以用它來做一個跨平臺測試編譯(只)與免費帕斯卡?
在我的情況下,在檢查源代碼控制中的項目之前,我想在Windows工作站上驗證編譯器是否可以編譯爲Linux或OSX目標。
我已經看到,使用Free Pascal配置交叉編譯是可能的,但並不容易,因爲系統上必須有目標操作系統的庫。我可以與其他平臺的Free Pascal交叉編譯(無需鏈接)嗎?
但我只需要一個快速的語法檢查來驗證項目是否可以編譯,不需要鏈接可執行文件。
那麼:是否有編譯選項,我可以用它來做一個跨平臺測試編譯(只)與免費帕斯卡?
在我的情況下,在檢查源代碼控制中的項目之前,我想在Windows工作站上驗證編譯器是否可以編譯爲Linux或OSX目標。
(注意,問題的根源並不FPC,但蘋果不再發布源的binutils的,相反,早期(PPC)OS X時候cctools的版本可用)
是的,那是可能的。基本上,然後(交叉)彙編到彙編器,並嘗試彙編並鏈接到目標上。
命令行參數來看看是
鏈接器命令行將被寫入ppas.bat/sh文件。
傳遞所有生成的.S彙編文件和link.res鏈接腳本和ppas.sh到目標系統,並運行ppas.sh
理論上那麼就應該彙編和編譯,但實際上,你可能需要修改link.res和ppas.sh以添加適當的搜索路徑。許多到新目標的早期端口都是這樣完成的(因爲在編譯器中添加適當的目標之前完成了初始端口)
AFAIK,使用交叉編譯器編譯和鏈接應用程序是真正檢查項目的唯一方法。這是主要IDE今天的工作方式(後臺編譯)。
您只需在主機上安裝您所需的CPU/OS目標的交叉編譯器即可。
http://wiki.freepascal.org/Cross_compiling#Host_and_target_on_different_CPUs
是否需要外部彙編程序部分,如果我只需要一個'語法檢查編譯' ,看看是否所有的符號都可以解析等等(並且不需要彙編文件)?我可以使用-s開關,只需指定目標平臺,如'-Tlinux -Px86_64'? – mjn
我想是的。我從來沒有做過只是一個語法檢查。 –