編譯器和連結器選項 (C++/CX)
環境變數、C++/CX 編譯器選項及連結器選項均支援建置 Windows 執行階段的應用程式。
Library path (程式庫路徑)
%LIBPATH% 環境變數指定 .winmd 檔案的預設搜尋路徑。
編譯器選項
選項 | 描述 |
---|---|
/ZW /ZW:nostdlib |
啟用 Windows 執行階段語言延伸模組。nostdlib 參數可防止編譯器使用標準、預先定義的搜尋路徑來尋找組件和 .winmd 檔案。/ZW 編譯器選項會隱含指定下列編譯器選項: - /FI vccorlib.h,強制包含 vccorlib.h 標頭檔,此檔案定義編譯器所需的許多類型。 - /FU Windows.winmd,強制包含 Windows.winmd 中繼資料檔,此檔案由作業系統提供,且定義 Windows 執行階段中的許多類型。 - /FU Platform.winmd,強制包含 Platform.winmd 中繼資料檔,此檔案由編譯器提供,且定義 Platform 命名空間系列中的大部分類型。 |
/AI dir | 將以 dir 參數指定的目錄加入搜尋路徑中,供編譯器用來尋找組件和 .winmd 檔案。 |
/FU file | 強制包含指定的模組或 .winmd 檔案。 也就是說,您不需要在原始程式碼中指定 #using 檔案 。 編譯器會自動強制包含其本身的 Windows 中繼資料檔 Platform.winmd。 |
/D "WINAPI_FAMILY=2" | 建立定義以允許使用與 Windows 執行階段相容的 Win32 SDK 子集。 |
連結器選項
選項 | 描述 |
---|---|
/APPCONTAINER[:NO] | 將可執行檔標記為可在 appcontainer 中執行 (僅限)。 |
/WINMD[:{NO|ONLY}] | 發出 .winmd 檔案和相關聯的二進位檔。 這個選項必須傳遞至連結器,才能發出 .winmd。 NO- 不發出 .winmd 檔案,但發出二進位檔案。 ONLY- 發出 .winmd 檔案,但不發出二進位檔案。 |
/WINMDFILE:檔案名稱 | 要發出的 .winmd 檔案名稱,而不是預設 .winmd 檔案名稱。 如果命令列上指定多個檔案名稱,則會使用最後一個名稱。 |
/WINMDDELAYSIGN[:NO] | 部分簽署 .winmd 檔案,並將公開金鑰放在二進位檔中。 NO- (預設值) 不簽署 .winmd 檔案。 除非同時指定 /WINMDKEYFILE 或 /WINMDKEYCONTAINER,否則 /WINMDDELAYSIGN 沒有作用。 |
/WINMDKEYCONTAINER:name | 指定用於簽署組件的金鑰容器。 name 參數對應至用於簽署中繼資料檔的金鑰容器。 |
/WINMDKEYFILE:filename | 指定用於簽署組件的金鑰或金鑰組。 檔案名稱 參數對應至用於簽署中繼資料檔的金鑰。 |
備註
當您使用 /ZW時,編譯器會自動連結至 C 執行階段 (CRT) 的 DLL 版本。 不允許連結至靜態程式庫版本,且在 通用 Windows 平台應用程式中使用任何不允許的 CRT 函式會造成編譯時期錯誤。