2009-08-21 173 views

回答

38

以下是您需要做的事情。

首先,进入Project-><project name> Properties...并转到生成选项卡。

在那里,在标有“条件编译符号”的文本框中,为您的x86平台(对话框顶部可选)添加WIN32,为您的x64平台添加WIN64。然后保存。

请注意,如果您有一个用于“AnyCPU”,您可能希望完全删除该平台,因为它不会安全。

然后,进入源,并写:

#if WIN64 
    [DllImport("ZLIB64.dll", CallingConvention=CallingConvention.Cdecl)] 
#else 
    [DllImport("ZLIB32.dll", CallingConvention=CallingConvention.Cdecl)] 
#endif 

注意,当您查看源代码,其中一条线看起来像它已被注释掉,在整条生产线是在一个灰色的字体。这条线是“其他平台”的一条线。如果您在工具栏中选择平台,您会注意到语法着色如下所示。

当然,在重新阅读我的答案后,我注意到你实际上并不需要将WIN32放入条件符号列表中,因为它没有被使用,但它可能对其他地方有用#if WIN32而不是64.

5

你必须添加一个条件编译符号对于项目属性中的每个目标平台,请在Build选项卡中。只需为Build平台顶部的平台下拉列表中确定的平台添加一个符号即可。更改平台将允许您添加仅适用于该平台的构建的不同符号。

1

我知道没有内建的东西。但是,定义自定义编译常量很简单。如果您正在使用Visual Studio,请使用Configuration Manager为32位和64位版本创建不同的构建配置。然后打开项目属性并转到生成选项卡,并为每个生成配置在条件编译符号文本框中输入描述性名称。然后你可以在代码中引用编译常量。