C++:重命名 dll 和库并链接

问题描述 投票:0回答:1

我们正在使用我们构建代码的第三方库。该库同时具有 32 位和 64 位 dll 和 lib。 32 位和 64 位版本具有相同的名称。我们的软件预计适用于 32 位和 64 位,并且根据版本,它自然应该链接到相应版本的 3rd 方工具。问题是我们的解决方案结构中只有一个第 3 方包含文件夹(没有 32 位或 64 位的子文件夹),因此我无法在不更改版本名称的情况下将两个版本都放在其中。有人告诉我,如果我更改 dll 名称和相应的 lib 名称(例如:将 64 添加到 64 位 dll 和 lib 名称),所有内容仍然会工作并自动加载,但对我来说,这似乎不起作用。实际上,我现在启动 64 位应用程序时遇到了一个奇怪的问题。奇怪的是,显然还有另一种情况,这种方法以前对我们有用。那么这项工作一般情况如何呢?我可以更改 lib 和 dll 的名称,并且只要将代码链接到新名称即可吗?或者运行时dll会不会被正确加载?

c++ visual-studio dll static-libraries
1个回答
1
投票

如果我理解正确的话,我相信只需更改 .lib 的名称就足够了。 导入库包含为其构建的 .dll 的名称。 因此,当链接时,最终的可执行文件仍将尝试加载正确的 .dll。

当然,这确实假设您的部署在安装应用程序时安装了正确的 .dll,但考虑到所有因素,如果没有,我会感到非常惊讶。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.