首頁  >  文章  >  後端開發  >  如何在不遺失庫依賴項的情況下連結 Fortran 和 C 二進位檔案?

如何在不遺失庫依賴項的情況下連結 Fortran 和 C 二進位檔案?

Linda Hamilton
Linda Hamilton原創
2024-10-26 03:28:28872瀏覽

 How to Link Fortran and C   Binaries Without Missing Library Dependencies?

連結Fortran 和C 二進位檔案:解決庫不符

當開發涉及C 和Fortran 程式碼的專案時,有必要連結產生的二進位檔案一起創建一個有凝聚力的程式。但是,嘗試單獨使用 g 或 gfortran 編譯此類專案可能會因缺少庫依賴項而導致錯誤。

要解決這些問題,必須使用適當的連結標誌來指定所需的函式庫

連結C 和Fortran 二進位檔案的解決方案

連結涉及C 和Fortran 的專案時,請按照以下步驟操作:

  • 使用g 編譯C 原始碼: g -c main.cpp -o main.o
  • 使用gfortran編譯Fortran 原始碼: gfortran -c print_hi.f90 -o print_hi.o
  • 使用g 連結編譯後的目標檔: g main.o print_hi.o -o main -lgfortran

該命令將在連結時包含必要的Fortran 庫(-lgfortran),從而解決未定義的問題單獨使用g 時遇到的引用錯誤。

替代方法

如果您更喜歡使用gfortran 進行鏈接,可以通過傳遞-lstdc 標誌來實現相同的結果:

gfortran main. o print_hi.o -o main -lstdc

此標誌將在連結期間合併所需的C 函式庫(-lstdc ),解決僅使用gfortran 時面臨的未定義引用。

透過利用適當的連結標誌,您可以成功地將 C 和 Fortran 二進位檔案組合成一個功能齊全的程式。

以上是如何在不遺失庫依賴項的情況下連結 Fortran 和 C 二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn