ld:尝试使用gfortran

时间:2017-07-18 12:59:54

标签: architecture duplicates x86-64 ld gfortran

我已经在我的环境中假设有一些变化,以至于我用来编译.f90的命令,使用gfortran,不再有效。

我使用此命令

gfortran -o spectrum -I / usr / local / include spectrum.f90 -L / usr / local / lib -lfftw3 spectrum.f90

其中spectrum是我的.f90脚本。

但是在命令行使用它现在给了我这样的信息:

duplicate symbol _main in:
    /var/folders/j6/x389pn_11pvf4zbwyn3dz6rc4vmd16/T//ccoqQofo.o
    /var/folders/j6/x389pn_11pvf4zbwyn3dz6rc4vmd16/T//ccFaSoMl.o
ld: 1 duplicate symbol for architecture x86_64
collect2: error: ld returned 1 exit status

以前出现了可执行的可执行文件。

改变了什么?我对.f90进行了一些更改,后来我对其进行了修改。但是我不明白错误是如何由于程序的改变而产生的 - 除了其他任何东西,当我试图使用未经修改的同一程序的较旧的备份版本时,我得到同样的错误!< / p>

更重要的是,当我删除上面粘贴的两个文件时,我会被引用包含此“重复”的不同文件。

但我甚至无法访问这些文件/位置:

/var/tmp//cc78ilM3.o
/var/tmp//ccPP60rG.o

一位同事提到使用诸如omnidisk之类的实用程序来清理像这样的虚假文件? 但是,什么甚至导致这些文件出现并导致这种冲突按照ld?

0 个答案:

没有答案