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

时间:2018-07-31 19:46:45

标签: c++ visual-studio dll lib

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

1 个答案:

答案 0 :(得分:1)

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

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