gpt4 book ai didi

c++ - 编译.exe程序时生成的.lib

转载 作者:行者123 更新时间:2023-11-28 01:54:59 24 4
gpt4 key购买 nike

过去几天我一直在努力解决这个问题,但我没有在网上找到任何相关内容。

我有一系列使用 Visual Studio 2012 生成 .exe 文件的项目(该行为也发生在较新版本下)。我使用属性表来设置所有编译选项;因此,我所有的 CL 和链接开关在我的 .exe 项目中都是一致的。我已验证没有任何开关在问题项目中被本地覆盖。

所以我遇到的问题是我的 41 个项目中有 2 个生成 .lib 和 .exp 文件以及所需的 .exe 文件。我以前从未见过这个,我不太明白 为什么 .exe 需要这些。就好像链接器暂时将项目视为 .dll,但最终生成一个 .exe。

有人知道在某些情况下这是否是预期的行为吗?

感谢您的帮助。

我找到了这个链接,它几乎准确地描述了我得到的内容。但该解决方案似乎不适用于我的情况。

Why does my Visual C++ .exe project build create .lib and .exp files?

最佳答案

好吧......经过更多的挖掘,我终于找到了问题。

这个问题确实与我提供的链接中提到的问题有关。在某个地方,在旧的 Sun Microsystem 库(与端口映射相关)下,有 1 个函数其中包含 __declspec(dllexport) 语句。尽管该库被我的 所有 .exe 项目使用,但只有 2 个问题程序间接调用了导出的函数。

回想起来……我应该直接查看 .lib 文件。它显示了导出了哪个单个函数。

关于c++ - 编译.exe程序时生成的.lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41548544/

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