2012-10-26 30 views
2

我已經看到,使用Free Pascal配置交叉編譯是可能的,但並不容易,因爲系統上必須有目標操作系統的庫。我可以與其他平臺的Free Pascal交叉編譯(無需鏈接)嗎?

但我只需要一個快速的語法檢查來驗證項目是否可以編譯,不需要鏈接可執行文件。

那麼:是否有編譯選項,我可以用它來做一個跨平臺測試編譯(只)與免費帕斯卡?

在我的情況下,在檢查源代碼控制中的項目之前,我想在Windows工作站上驗證編譯器是否可以編譯爲Linux或OSX目標。

回答

1

(注意,問題的根源並不FPC,但蘋果不再發布源的binutils的,相反,早期(PPC)OS X時候cctools的版本可用)

是的,那是可能的。基本上,然後(交叉)彙編到彙編器,並嘗試彙編並鏈接到目標上。

命令行參數來看看是

  • -a不刪除彙編文件
  • -Aas選擇外部彙編
  • -s推遲鏈接

鏈接器命令行將被寫入ppas.bat/sh文件。

傳遞所有生成的.S彙編文件和link.res鏈接腳本和ppas.sh到目標系統,並運行ppas.sh

理論上那麼就應該彙編和編譯,但實際上,你可能需要修改link.res和ppas.sh以添加適當的搜索路徑。許多到新目標的早期端口都是這樣完成的(因爲在編譯器中添加適當的目標之前完成了初始端口)

+0

是否需要外部彙編程序部分,如果我只需要一個'語法檢查編譯' ,看看是否所有的符號都可以解析等等(並且不需要彙編文件)?我可以使用-s開關,只需指定目標平臺,如'-Tlinux -Px86_64'? – mjn

+0

我想是的。我從來沒有做過只是一個語法檢查。 –