2016-07-08 60 views
0

我在OpenSUSE Leap上使用GNU Fortran 95來編譯我的源代碼,並試圖找出如何告訴gfortran更改缺省目錄以搜索我的模塊。Fortran編譯期間指定目錄

讓我解釋一下我的設置。我寫了幾個模塊文件,其中包含我使用的一般子例程。我已將這些文件放置並編譯到名爲ModuleRepo的文件夾中。我的工作腳本放置在一個單獨的文件夾中。例如,我試過以下命令:

gfortran -o script script.f95 -I/pathToFolder/ModuleRepo module1.o module2.o 

但是,這是行不通的。它返回以下錯誤:

gfortran: error: module1.o: No such file or directory. 

* .o文件確實存在於ModuleRepo中,所以我不確定發生了什麼。一切工作正常,如果我複製我的所有模塊文件到目錄。但是,我想避免一遍又一遍複製相同的文件。

+0

此外,我嘗試在網上找到-I選項的例子,但沒有成功。我知道還有-J和-fintrinsic-module-path選項,但我無法正確使用它們。與-I選項一樣,我無法找到這些選項的示例。 – Higgie2718

+0

一般.o文件是目標文件而不是模塊文件(.mod)。你有後者嗎?我做的是 – francescalus

+0

。我只知道我用來編譯的正常命令是 gfortran -o腳本script.f95 module1.o module2.o 因此,我認爲它將與上面相同。 – Higgie2718

回答

1
gfortran -o script script.f95 -I/pathToFolder/ModuleRepo /pathToFolder/ModuleRepo/module1.o /pathToFolder/ModuleRepo/module2.o 
+0

當我運行這段代碼,它返回如下: 使用randommodule 致命錯誤:無法打開模塊文件「randommodule.mod」在(1)閱讀:沒有這樣的文件或目錄 – Higgie2718

+0

但是,文件randommodule.mod絕對存在。 – Higgie2718

+0

好的,指定包含目錄的路徑以及訪問.mod文件 – jahvillegas