看板 Fortran 關於我們 聯絡資訊
請問各位先進, 小弟使用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
Semisphere:1. 或許副程式名稱同名,換一個試試 04/15 08:40
Semisphere:2. 有專門貼程式碼的網頁 http://pastie.org/pastes 04/15 08:44
Jyukai:沒辦法耶,我換了其他的名字依然是同樣的錯誤 04/15 10:48
Jyukai:另外感謝您提供的網站,我會參考使用看看 04/15 10:49
※ 編輯: Jyukai 來自: 119.77.251.170 (04/15 12:26)
charlesdc:把你自己寫的sub包在module在use進來就沒問題了 04/15 17:38
Jyukai:後來發現,似乎是自己在call的時候多打了subroutine指令 04/17 14:44
Jyukai:不過也有嘗試樓上說的module,同樣也解決這問題 04/17 14:44