Windows 可执行dll加载(x32、x64):选择正确的
我有一个有几个第三方库的大型项目。我想为32位和64位体系结构构建一切。几个库创建共享库(DLL)。向我的项目中编译的可执行文件提供这些DLL的最佳方式是什么?我想我可以把所有这些DLL放到一个目录中,这个目录被添加到PATH变量中。但是,在32位和64位编译下,从第三方LIB创建的大多数DLL都以相同的方式命名,因此我不能将它们放在一个目录中。我可以创建两个目录吗?一个用于32位DLL,一个用于64位DLL,可执行文件选择正确的DLL? 或者你有更好的主意让我的可执行文件加载正确的DLL吗?Windows 可执行dll加载(x32、x64):选择正确的,windows,dll,64-bit,Windows,Dll,64 Bit,我有一个有几个第三方库的大型项目。我想为32位和64位体系结构构建一切。几个库创建共享库(DLL)。向我的项目中编译的可执行文件提供这些DLL的最佳方式是什么?我想我可以把所有这些DLL放到一个目录中,这个目录被添加到PATH变量中。但是,在32位和64位编译下,从第三方LIB创建的大多数DLL都以相同的方式命名,因此我不能将它们放在一个目录中。我可以创建两个目录吗?一个用于32位DLL,一个用于64位DLL,可执行文件选择正确的DLL? 或者你有更好的主意让我的可执行文件加载正确的DLL吗?
谢谢 目标系统要么是32位,要么是64位,决不能两者都是。您应该根据系统的性能只安装所需的版本。然后,您只需要两个不相交的二进制文件集,并安装目标系统所需的一个二进制文件集,就可以在运行时检测到要加载的内容。目标系统是32位或64位的,而不是两者都是。您应该根据系统的性能只安装所需的版本。然后,您只需拥有两个不相交的二进制文件集,并安装目标系统所需的一个二进制文件集,就可以在运行时检测加载内容。因为32位可执行文件无法拾取64位DLL,反之亦然。只有一个目录包含所有32位(可执行文件+DLL),另一个目录包含所有64位。因为32位可执行文件不能拾取64位DLL,反之亦然。您只需要一个包含所有32位内容的目录(可执行文件+DLL)和另一个包含所有64位内容的目录。实际上,对于WOW,64位系统也是32位系统。但是你有一个32位和64位的程序文件目录,所以仍然没有混合。是的,一个可执行文件的目标是32位或64位。但我希望能够在我们的开发机器上同时针对这两种体系结构(仅用于开发,而不是“客户计算机”)。我想最好在编译后将64位可执行文件复制到一个文件夹中,再将32位复制到另一个文件夹中。在几乎任何开发环境中设置它都很简单,它完全解决了问题。实际上,使用WOW,64位系统也是32位系统。但是,您有一个32位和64位程序文件目录,所以仍然没有混合。是的,可执行文件的目标是32位或64位。但我希望能够在我们的开发机器上同时针对这两种体系结构(仅用于开发,而不是“客户计算机”)。我想最好在编译后将64位可执行文件复制到一个文件夹中,再将32位复制到另一个文件夹中。在几乎任何开发环境中设置它都很简单,它完全解决了问题。