gpt4 book ai didi

c - 在 Windows : "main already defined" 上与 pgi 一起编译 C/Fortran 代码时出现问题

转载 作者:可可西里 更新时间:2023-11-01 14:02:16 26 4
gpt4 key购买 nike

下面是我想一起编译的 C/Fortran 文件的玩具示例。

C文件

void testfunc();

int main(void)
{
testfunc();
}

Fortran 文件

subroutine testfunc() bind (C, name = "testfunc")
write(*,*) "Hello World!"
end subroutine

使用 gcc,我可以用命令生成一个二进制文件

gfortran -o my_prog main.c testfunc.f90

但是,当我尝试使用 pgf90 时

pgf90 -o my_prog main.c testfunc.f90

我收到以下错误消息:

main.obj : error LNK2005: main already defined in f90main.obj
f90main.obj : error LNK2019: unresolved external symbol MAIN_ referenced in function main

是否有在 Windows 上使用 pgi 编译 C+Fortran 的标准程序?

最佳答案

将标志“-Mnomain”添加到链接中,使编译器不将 F90 主对象包含到链接中,而是使用用户提供的 C 主对象。

关于c - 在 Windows : "main already defined" 上与 pgi 一起编译 C/Fortran 代码时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53713069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com