作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试编译我的第一个使用 NAG 库的程序,如下:
program naginfo
use nag_f77_a_chapter
implicit none
write(*,*) 'Calling NAG identification routine'
write(*,*)
call a00aaf
end program naginfo
这是从教程中复制的,他们建议使用以下语句编译它:
f95 -o naginfo naginfo.f90 -lnag
他们假设这个 -lnag
将链接器驱动到 NAG 库,但后来我发现了这个错误:
Fatal Error: Can't open module file ‘nag_f77_a_chapter.mod’ for reading at (1): The directory does not exist
我已经尝试更改 NAG 文件的目录以帮助链接器找到它。
我如何让它编译和链接?
最佳答案
这只是对 francescalus 评论的长篇解释。
标志 -lnag
仅在将所有已编译的片段链接在一起时将库代码添加到已编译的程序中。它在编译期间没有影响,因此对您看到的错误消息没有影响。
编译器必须看到有关 NAG 库模块的信息。这通常存储在扩展名为 .mod
的模块文件中。编译器通常只在当前目录或系统的包含目录中搜索这些。
您可以使用特殊的编译器标志指示编译器在不同的目录中搜索。它可能因不同的编译器而异,但通常是 -I
后跟库存储其 .mod
文件的目录。
请注意,库中的 .mod
文件仅与库供应商用于创建它们的同一编译器兼容。
关于linux - 使用 -lnag 链接到 NAG 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851952/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!