我从 mingw 创建了一个 .A
和一个相应的 .dll
文件。这是要在Windows上运行。现在我正在尝试连接和使用来自不同组件的 .A 库中的函数,但出现链接器错误。我想确定我的函数是否正确导出。因此我关注了this链接并决定这样做
> lib.exe /list libSomeLibrary.a
结果我得到了这样的东西
d001861.o
d001862.o
d001863.o
d001864.o
d001865.o
d001866.o
d001867.o
d001868.o
d001869.o
d001870.o
d001871.o
d001872.o
d001873.o
d001874.o
d001875.o
d001876.o
d001877.o
d001878.o
d001879.o
d001880.o
d001881.o
d001882.o
d001883.o
....
....
这是正确的吗?有没有办法让我实际获取 lib 文件中函数的名称。
最佳答案
由于您使用的是 MinGW,您可以使用 nm
命令列出任何 libfoo.a
归档文件的内容;这样使用:
nm -A libfoo.a | more
(或者更好,如果你有 less
命令,例如在 MinGW 的 MSYS shell 环境中):
nm -A libfoo.a | less
它将列出存档中指定的所有符号,并根据提供每个符号的嵌入式目标文件的名称进行分组和限定。
关于c++ - 如何探索.A库文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29857354/