从同一项目中编译32位和64位是否可行?

3

我正在使用Pcapdot.Net DLL,包括32位和64位。 是否可以创建一个包含32位和64位DLL的项目,以便编译后会分别生成适用于32位和64位的两个不同的EXE文件?


3
只需从“配置管理器”中创建另一个针对x64的解决方案配置,然后进行构建即可。或者我没有正确理解问题? - Simon MᶜKenzie
1
@SimonMcKenzie 更加棘手的是,在有条件地包含不同位数库的引用时。 - Grant Thomas
1个回答

0

你的问题,可能是(不太清楚),在你的项目中链接了一些DLL,并希望为项目的相对构建选择正确的DLL(32位或64位)。

解决方案可以简单地在项目中引用具有公共名称的DLL:

比如说Pcapdot.Net DLL,适用于两个平台。

并且在项目的后期构建事件中,根据当前构建的配置,将特定于平台的Pcapdot.Net DLL复制到项目加载引用的文件夹中。

因此,当您的应用程序加载时,它将始终加载“正确”的版本的Pcapdot.Net DLL

更明确地说:

假设您在项目中引用了一个Pcapdot.Net DLL,路径为

"Debug\External"

在您的项目树中,您有

"YOUR_PROJECT_NAME\Dlls\x86\Pcapdot.Net DLL"

"YOUR_PROJECT_NAME\Dlls\x64\Pcapdot.Net DLL"

假设您已经设置了项目进行64位编译。在后期构建事件中,您检查并复制以下内容:
“YOUR_PROJECT_NAME\Dlls\x64\Pcapdot.Net DLL”

“Debug\External”

.

希望这能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接