我有一个问题:我必须打开一个链接文件 .a 延期。我使用dev-c ++。

有帮助吗?

解决方案

.a 文件是 ar 对象的档案(例如邮编).o)文件。您可以列出文件 .a 文件使用 ar 程序:

ar t file.a

并提取所有文件:

ar x file.a

其他提示

带有的文件 .a 扩展是使用UNIX文件命名约定的静态库。它们不仅仅是对象代码的索引集合。您不会打开它们太多(除非您有这样的工具 nm 或者 gdb 可用,这两个 能够 用库做明智的事情,即使不一定是您可能想要的),如链接时告诉链接器使用它们。对于大多数链接器,重要的是将所有库(静态和动态/共享)放在您的主要程序代码之后,在链接器命令行上,库的顺序也很重要。

你真的是说你想 打开 该文件,或者您希望 关联 用您的代码?

默认情况下,DEV-C ++是使用MINGW/GCC编译器安装的。如果该档案不是专门为与MingW合作的(例如,它可能是Cygwin或Linux档案),则您将无法将其链接到MINGW生成的代码。

如果存档是MingW/GCC兼容库,则只需将其链接到您的代码即可。在DEV-C ++中,您需要将存档添加到项目链接器选项中,要么通过将完整路径添加到存档(项目选项中有一个按钮),要么通过将存档放置在由A的路径中定义的路径中 -L<path> 选项,然后添加 -l<archive> 选项。请注意,ID存档称为libxxx.a,然后 -l<archive> 选项将是``-lxxx'; “ lib”前缀和“ .a”扩展是隐式的。

如果您只想检查档案以确定其提供的外部符号,则 nm 实用程序可用于此功能。如果要提取单个对象文件,请使用 ar, ,尽管我想不出你想做的一个充分的理由。

尝试 fstream, , 或者 fstream file_op("c:\\test.a",ios::in);, ,不要忘记包括 fstream.h.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top