[問題] 如何同時使用IMSL函式庫又使用自己編寫 …

看板Fortran作者 ( )時間13年前 (2011/04/14 18:26), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
請問各位先進, 小弟使用Compaq Visual Fortrand (Version 6.6)編寫fortran 檔案格式使用fixed format file 計算數值時有呼叫IMSL內的函式庫 (有在開頭寫 use IMSL 指令) 也有自己寫其他的function使用 (這部份沒問題,只要在開頭另外設external就好) IMSL和很多自定function都可以正常使用 但想要自己同時在程式內也寫subroutine並呼叫時,會出現下列錯誤訊息 Main - 2011.04.07.obj : error LNK2001: unresolved external symbol _SUBROUTINESOLVE@20 Debug/Main - 2011.04.07.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. 目前不知道該怎麼辦, 其實我知道這個錯誤訊息的意思,因為一開始寫function如果沒有另外設external也 會有這錯誤出現, 但是現在是假使將自己寫的這個subroutine也設定成external,也無法執行, 而且因為整個程式有大量使用IMSL,所以也無法取消使用IMSL。 不知道是不是有另外的指令語法或是方法可以讓我同時使用IMSL又使用自定的subroutine? 而程式因為有幾千行似乎也不方便貼上來,需要麻煩各位高手指導了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.77.251.170

04/15 08:40, , 1F
1. 或許副程式名稱同名,換一個試試
04/15 08:40, 1F

04/15 08:44, , 2F
2. 有專門貼程式碼的網頁 http://pastie.org/pastes
04/15 08:44, 2F

04/15 10:48, , 3F
沒辦法耶,我換了其他的名字依然是同樣的錯誤
04/15 10:48, 3F

04/15 10:49, , 4F
另外感謝您提供的網站,我會參考使用看看
04/15 10:49, 4F
※ 編輯: Jyukai 來自: 119.77.251.170 (04/15 12:26)

04/15 17:38, , 5F
把你自己寫的sub包在module在use進來就沒問題了
04/15 17:38, 5F

04/17 14:44, , 6F
後來發現,似乎是自己在call的時候多打了subroutine指令
04/17 14:44, 6F

04/17 14:44, , 7F
不過也有嘗試樓上說的module,同樣也解決這問題
04/17 14:44, 7F
文章代碼(AID): #1DfilMLa (Fortran)