2009-08-21 165 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位版本創建不同的構建配置。然後打開項目屬性並轉到生成選項卡,併爲每個生成配置在條件編譯符號文本框中輸入描述性名稱。然後你可以在代碼中引用編譯常量。