2013-07-11 36 views
0

我在Fortran 77(* .f)中有一個代碼。我使用的編譯器fort77但它給我下面的錯誤:未定義的引用'rindex_`

geodv.o: In function `main__ ': 
    fort77-10104-1.c: (. text +0 x287): reference to `rindex_ 'undefined 
    collect2: error: ld returned 1 exit status 

的代碼可以發現at this dropbox。感謝您的幫助

+0

rindex是一些編譯器支持的擴展。 (對編寫代碼的人來說顯然是可用的)。你可以使用索引() – agentp

回答

1

您已經聲明rindex是第15行的integer*4,但在62行使用它作爲nd2=rindex(entete,'/') Fortran的預期線62意味着rindex是一個函數,而不是一個整數。

+0

寫出你自己的約10行你好,一個問題 ¿我該如何進行更改以確定哪個是函數? 謝謝! –

+0

如果'rindex'應該是一個函數,您需要在代碼中定義該函數,就像您使用'ichy'(第494行)和'今天'(第454行)一樣。 –

+0

代碼中存在錯誤,因爲我的老師輸錯了代碼。 RINDEX =指數 但在a.out的顯示錯誤: 列表:文件 明顯的狀態結束:內部I/O 直讀格式最近內部IO 中止 –

0

試試這個:

 nd1 = index(entete,'/') 
    nd2 = index(entete(nd1+1:),'/')+nd1 

注意到這會給第二個「/」,而不是最後的位置,所以它是相同的只有當你的字符串只有兩個「/」秒。

+0

你好。 我試過了,我得到了a.out,把命令。/a.out和我找到以下內容: 列表中:文件末尾 明顯狀態:內部I/O 直接閱讀最近格式化內部IO 中止 –

+0

我猜你的字符串不符合預期的日期。在上面的行後面寫上(\ *,\ *)nd1,nd2,entete。 – agentp