簡體   English   中英

如何在 azure 應用服務中使用 cl.exe 編譯 c++ 代碼並生成可執行文件

[英]How can I use cl.exe in azure app service to compile c++ code and produce executable file

我的應用程序托管在 azure 應用程序服務中,我想編譯 c++ 代碼並使用 Z2403AA2CEC4A89CEE7E6 中的Process class 編譯 c++ 代碼和生產.exe 文件運行時我無法安裝 c++ 編譯器。 但是我看到在我的 azure 應用服務中安裝了 Visual Studio,並決定使用位於以下文件夾中的cl.exeD:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\cl.exe

當我在 azure 應用服務控制台中運行以下命令時: set PATH=%PATH%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86; & cl /EHsc test.cpp set PATH=%PATH%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86; & cl /EHsc test.cpp test.exe 沒有產生,也沒有錯誤。

我不是 C++ 開發人員。 但是我很快搜索並找到了以下信息。 我希望它會有所幫助。

1、不能直接在提示符下運行cl.exe。 因為它依賴於一組環境變量。 通常你需要從 VS 開發者提示符運行它或者運行一個 VS 附帶的 bat 文件來設置環境變量。 有關詳細信息,請參閱https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=vs-2019

問題是Azure Web App環境中沒有這樣的bat文件。

2、在Azure Web App環境中,文件系統是特殊的,因為文件也與其他用戶共享。 您可能能夠讀取系統文件,但您只能寫入 D:\home 路徑。 所以你還需要將 output 文件路徑更改為 D:\Home。 如果 cl.exe 需要寫入其他文件夾中的某個文件,那么它將失敗。

我能想到的解決方案是您需要下載獨立的 MSVC 編譯器工具集並將其傳輸到您的 Azure Web App 主文件夾。 它包含 CL.EXE 文件和我們需要的 bat 文件。 D:\home 文件夾中的文件永久保存在 Azure 中。 然后,您可以按照此處的說明使用 CL.EXE 進行構建

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM