[{"data":1,"prerenderedAt":1189},["ShallowReactive",2],{"page-en-\u002Fbuild-windows":3},{"id":4,"title":5,"body":6,"description":16,"draft":1181,"extension":1182,"hero":1183,"meta":1184,"navigation":165,"path":1185,"seo":1186,"stem":1187,"tags":1183,"updatedAt":1183,"__hash__":1188},"content_en\u002Fbuild-windows.md","Windows Build Environment Setup",{"type":7,"value":8,"toc":1147},"minimark",[9,13,17,22,25,48,51,55,58,63,81,85,216,220,234,248,250,254,257,264,267,344,348,363,365,369,373,410,414,439,443,460,464,505,513,517,564,571,575,606,610,635,643,647,697,705,709,713,716,751,755,778,781,796,799,848,851,888,899,902,911,915,959,962,964,968,971,974,982,986,995,999,1002,1033,1036,1078,1082,1097,1100,1125,1129,1143],[10,11,5],"h1",{"id":12},"windows-build-environment-setup",[14,15,16],"p",{},"This guide walks you through setting up the development environment for building Drop Compress Image on Windows.",[18,19,21],"h2",{"id":20},"choose-your-build-method","Choose Your Build Method",[14,23,24],{},"There are three ways to build on Windows:",[26,27,28,36,42],"ol",{},[29,30,31,35],"li",{},[32,33,34],"strong",{},"Docker for Linux Build (Recommended)",": Build Linux packages from Windows",[29,37,38,41],{},[32,39,40],{},"Docker Environment for Windows Build",": Clean environment avoiding dependency conflicts",[29,43,44,47],{},[32,45,46],{},"Native Environment",": Faster but more complex setup",[49,50],"hr",{},[18,52,54],{"id":53},"method-1-docker-for-linux-build-recommended","Method 1: Docker for Linux Build (Recommended)",[14,56,57],{},"You can build Linux packages (.deb, .rpm) from Windows using Docker.",[59,60,62],"h3",{"id":61},"prerequisites","Prerequisites",[64,65,66,69,72,75,78],"ul",{},[29,67,68],{},"Windows 10\u002F11 (64-bit)",[29,70,71],{},"Docker Desktop for Windows",[29,73,74],{},"WSL 2 (recommended)",[29,76,77],{},"PowerShell 5.1 or higher",[29,79,80],{},"8GB+ RAM (16GB recommended)",[59,82,84],{"id":83},"steps","Steps",[26,86,87,103,111,140,196],{},[29,88,89,92,95,96,102],{},[32,90,91],{},"Install Docker Desktop",[93,94],"br",{},"Download and install ",[97,98,71],"a",{"href":99,"rel":100},"https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop\u002F",[101],"nofollow",".",[29,104,105,108,110],{},[32,106,107],{},"Enable WSL 2",[93,109],{},"Enable \"Use WSL 2 based engine\" in Docker Desktop settings (recommended).",[29,112,113,116],{},[32,114,115],{},"Clone the Project",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-powershell shiki shiki-themes github-light github-dark","git clone https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\ncd DropWebP\n","powershell","",[124,125,126,134],"code",{"__ignoreMap":122},[127,128,131],"span",{"class":129,"line":130},"line",1,[127,132,133],{},"git clone https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\n",[127,135,137],{"class":129,"line":136},2,[127,138,139],{},"cd DropWebP\n",[29,141,142,145],{},[32,143,144],{},"Build Linux Packages",[117,146,148],{"className":119,"code":147,"language":121,"meta":122,"style":122},"# For x86_64 Linux\npnpm run build:tauri:linux-x64\n\n# For ARM64 Linux\npnpm run build:tauri:linux-arm64\n\n# Or run the script directly\npwsh .\\scripts\\build-linux-docker.ps1 -Target x64\n",[124,149,150,155,160,167,173,179,184,190],{"__ignoreMap":122},[127,151,152],{"class":129,"line":130},[127,153,154],{},"# For x86_64 Linux\n",[127,156,157],{"class":129,"line":136},[127,158,159],{},"pnpm run build:tauri:linux-x64\n",[127,161,163],{"class":129,"line":162},3,[127,164,166],{"emptyLinePlaceholder":165},true,"\n",[127,168,170],{"class":129,"line":169},4,[127,171,172],{},"# For ARM64 Linux\n",[127,174,176],{"class":129,"line":175},5,[127,177,178],{},"pnpm run build:tauri:linux-arm64\n",[127,180,182],{"class":129,"line":181},6,[127,183,166],{"emptyLinePlaceholder":165},[127,185,187],{"class":129,"line":186},7,[127,188,189],{},"# Or run the script directly\n",[127,191,193],{"class":129,"line":192},8,[127,194,195],{},"pwsh .\\scripts\\build-linux-docker.ps1 -Target x64\n",[29,197,198,201,203,204],{},[32,199,200],{},"Check Build Artifacts",[93,202],{},"Upon successful build, packages will be generated at:",[64,205,206,211],{},[29,207,208],{},[124,209,210],{},"app\u002Fsrc-tauri\u002Ftarget\u002Fx86_64-unknown-linux-gnu\u002Frelease\u002Fbundle\u002Fdeb\u002F",[29,212,213],{},[124,214,215],{},"app\u002Fsrc-tauri\u002Ftarget\u002Fx86_64-unknown-linux-gnu\u002Frelease\u002Fbundle\u002Frpm\u002F",[59,217,219],{"id":218},"linux-build-benefits","Linux Build Benefits",[64,221,222,225,228,231],{},[29,223,224],{},"✅ Build Linux packages directly from Windows",[29,226,227],{},"✅ Consistency with CI\u002FCD pipelines",[29,229,230],{},"✅ Easy cross-platform development",[29,232,233],{},"✅ Keeps host environment clean",[235,236,237],"blockquote",{},[14,238,239,242,243,247],{},[32,240,241],{},"More Info",": See ",[97,244,246],{"href":245},".\u002Fbuild-linux-docker","Building for Linux (Using Docker)"," for details.",[49,249],{},[18,251,253],{"id":252},"method-2-docker-environment-for-windows-build","Method 2: Docker Environment for Windows Build",[59,255,62],{"id":256},"prerequisites-1",[64,258,259,262],{},[29,260,261],{},"Windows 10\u002F11 Pro, Enterprise, or Education (with Hyper-V support)",[29,263,71],{},[59,265,84],{"id":266},"steps-1",[26,268,269,280,288,304,319,333],{},[29,270,271,273,95,275,102],{},[32,272,91],{},[93,274],{},[97,276,279],{"href":277,"rel":278},"https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop",[101],"Docker Desktop",[29,281,282,285,287],{},[32,283,284],{},"Switch to Windows Container Mode",[93,286],{},"Right-click the Docker Desktop tray icon and select \"Switch to Windows containers...\".",[29,289,290,292],{},[32,291,115],{},[117,293,294],{"className":119,"code":120,"language":121,"meta":122,"style":122},[124,295,296,300],{"__ignoreMap":122},[127,297,298],{"class":129,"line":130},[127,299,133],{},[127,301,302],{"class":129,"line":136},[127,303,139],{},[29,305,306,309,310],{},[32,307,308],{},"Build Docker Image"," (first time only, takes 30-60 minutes)",[117,311,313],{"className":119,"code":312,"language":121,"meta":122,"style":122},"docker build -f Dockerfile.windows-x64 -t dropwebp-windows-builder .\n",[124,314,315],{"__ignoreMap":122},[127,316,317],{"class":129,"line":130},[127,318,312],{},[29,320,321,324],{},[32,322,323],{},"Build the Application",[117,325,327],{"className":119,"code":326,"language":121,"meta":122,"style":122},"docker run --rm -v ${PWD}:C:\\workspace dropwebp-windows-builder\n",[124,328,329],{"__ignoreMap":122},[127,330,331],{"class":129,"line":130},[127,332,326],{},[29,334,335,337,339,340,343],{},[32,336,200],{},[93,338],{},"Upon successful build, executables and installers will be generated in the ",[124,341,342],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002F"," directory.",[59,345,347],{"id":346},"docker-environment-benefits","Docker Environment Benefits",[64,349,350,352,355,358,361],{},[29,351,233],{},[29,353,354],{},"✅ Avoids dependency conflicts",[29,356,357],{},"✅ Reproducible builds",[29,359,360],{},"✅ Clean build environment",[29,362,227],{},[49,364],{},[18,366,368],{"id":367},"method-3-native-environment-build","Method 3: Native Environment Build",[18,370,372],{"id":371},"_1-install-chocolatey","1. Install Chocolatey",[26,374,375,398],{},[29,376,377,378],{},"Install Chocolatey package manager by running the following command in PowerShell as Administrator:",[117,379,381],{"className":119,"code":380,"language":121,"meta":122,"style":122},"Set-ExecutionPolicy Bypass -Scope Process -Force;\n[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;\niex ((New-Object System.Net.WebClient).DownloadString('https:\u002F\u002Fcommunity.chocolatey.org\u002Finstall.ps1'))\n",[124,382,383,388,393],{"__ignoreMap":122},[127,384,385],{"class":129,"line":130},[127,386,387],{},"Set-ExecutionPolicy Bypass -Scope Process -Force;\n",[127,389,390],{"class":129,"line":136},[127,391,392],{},"[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;\n",[127,394,395],{"class":129,"line":162},[127,396,397],{},"iex ((New-Object System.Net.WebClient).DownloadString('https:\u002F\u002Fcommunity.chocolatey.org\u002Finstall.ps1'))\n",[29,399,400,401],{},"After installation, verify the version:",[117,402,404],{"className":119,"code":403,"language":121,"meta":122,"style":122},"choco -v\n",[124,405,406],{"__ignoreMap":122},[127,407,408],{"class":129,"line":130},[127,409,403],{},[18,411,413],{"id":412},"_2-install-git","2. Install Git",[26,415,416,428],{},[29,417,418,419],{},"Install Git using Chocolatey:",[117,420,422],{"className":119,"code":421,"language":121,"meta":122,"style":122},"choco install git -y\n",[124,423,424],{"__ignoreMap":122},[127,425,426],{"class":129,"line":130},[127,427,421],{},[29,429,400,430],{},[117,431,433],{"className":119,"code":432,"language":121,"meta":122,"style":122},"git --version\n",[124,434,435],{"__ignoreMap":122},[127,436,437],{"class":129,"line":130},[127,438,432],{},[18,440,442],{"id":441},"_3-clone-the-project","3. Clone the Project",[26,444,445],{},[29,446,447,448],{},"Clone the project from GitHub and navigate to the project directory:",[117,449,450],{"className":119,"code":120,"language":121,"meta":122,"style":122},[124,451,452,456],{"__ignoreMap":122},[127,453,454],{"class":129,"line":130},[127,455,133],{},[127,457,458],{"class":129,"line":136},[127,459,139],{},[18,461,463],{"id":462},"_4-install-visual-studio-community-2022","4. Install Visual Studio Community 2022",[26,465,466,478,490,502],{},[29,467,468,469],{},"Install Visual Studio Community 2022:",[117,470,472],{"className":119,"code":471,"language":121,"meta":122,"style":122},"choco install visualstudio2022community -y\n",[124,473,474],{"__ignoreMap":122},[127,475,476],{"class":129,"line":130},[127,477,471],{},[29,479,480,481],{},"Install the C++ Desktop Development workload:",[117,482,484],{"className":119,"code":483,"language":121,"meta":122,"style":122},"choco install visualstudio2022-workload-nativedesktop -y\n",[124,485,486],{"__ignoreMap":122},[127,487,488],{"class":129,"line":130},[127,489,483],{},[29,491,492,493],{},"Install Clang\u002FLLVM build tools, which are required for building certain image codec libraries:",[117,494,496],{"className":119,"code":495,"language":121,"meta":122,"style":122},"choco install visualstudio2022buildtools --package-parameters \"--add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset\" -y\n",[124,497,498],{"__ignoreMap":122},[127,499,500],{"class":129,"line":130},[127,501,495],{},[29,503,504],{},"Once installation is complete, you can verify the installed components using the Visual Studio Installer.",[235,506,507],{},[14,508,509,512],{},[32,510,511],{},"Notice:"," The C++ Desktop Development workload includes tools necessary for building Rust native extensions, such as MSVC (Microsoft's compiler), Windows SDK, and CMake.",[18,514,516],{"id":515},"_5-install-nasm-and-ninja","5. Install NASM and Ninja",[26,518,519,531,549,561],{},[29,520,521,522],{},"Install NASM and Ninja, which are required for building image codec libraries:",[117,523,525],{"className":119,"code":524,"language":121,"meta":122,"style":122},"choco install nasm ninja -y\n",[124,526,527],{"__ignoreMap":122},[127,528,529],{"class":129,"line":130},[127,530,524],{},[29,532,533,534],{},"After installation, verify the versions:",[117,535,537],{"className":119,"code":536,"language":121,"meta":122,"style":122},"nasm -v\nninja --version\n",[124,538,539,544],{"__ignoreMap":122},[127,540,541],{"class":129,"line":130},[127,542,543],{},"nasm -v\n",[127,545,546],{"class":129,"line":136},[127,547,548],{},"ninja --version\n",[29,550,551,552],{},"Add NASM to your system PATH so that Cargo can find it during build time:",[117,553,555],{"className":119,"code":554,"language":121,"meta":122,"style":122},"[System.Environment]::SetEnvironmentVariable('PATH', [System.Environment]::GetEnvironmentVariable('PATH', 'User') + ';C:\\Program Files\\NASM', 'User')\n",[124,556,557],{"__ignoreMap":122},[127,558,559],{"class":129,"line":130},[127,560,554],{},[29,562,563],{},"Restart your terminal or PowerShell session for the PATH changes to take effect.",[235,565,566],{},[14,567,568,570],{},[32,569,511],{}," NASM is an assembler used for building optimized codec libraries like libavif. Ninja is a fast build system often used in conjunction with CMake.",[18,572,574],{"id":573},"_6-install-nodejs-and-pnpm","6. Install Node.js and pnpm",[26,576,577,589],{},[29,578,579,580],{},"Install Node.js and pnpm:",[117,581,583],{"className":119,"code":582,"language":121,"meta":122,"style":122},"choco install nodejs pnpm -y\n",[124,584,585],{"__ignoreMap":122},[127,586,587],{"class":129,"line":130},[127,588,582],{},[29,590,533,591],{},[117,592,594],{"className":119,"code":593,"language":121,"meta":122,"style":122},"node -v\npnpm -v\n",[124,595,596,601],{"__ignoreMap":122},[127,597,598],{"class":129,"line":130},[127,599,600],{},"node -v\n",[127,602,603],{"class":129,"line":136},[127,604,605],{},"pnpm -v\n",[18,607,609],{"id":608},"_7-install-rust-official-method","7. Install Rust (Official Method)",[26,611,612,624],{},[29,613,614,615],{},"Install Rust using the official method by running the following command in PowerShell or Command Prompt:",[117,616,618],{"className":119,"code":617,"language":121,"meta":122,"style":122},"curl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\n",[124,619,620],{"__ignoreMap":122},[127,621,622],{"class":129,"line":130},[127,623,617],{},[29,625,400,626],{},[117,627,629],{"className":119,"code":628,"language":121,"meta":122,"style":122},"rustc --version\n",[124,630,631],{"__ignoreMap":122},[127,632,633],{"class":129,"line":130},[127,634,628],{},[235,636,637],{},[14,638,639,642],{},[32,640,641],{},"Warning:"," While it's possible to install Rust via Chocolatey, it installs with the MinGW toolchain, which may lead to compatibility issues with libraries.",[18,644,646],{"id":645},"_8-set-up-vcpkg","8. Set Up vcpkg",[26,648,649,667,679],{},[29,650,651,652],{},"Clone the vcpkg repository:",[117,653,655],{"className":119,"code":654,"language":121,"meta":122,"style":122},"git clone https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git C:\\vcpkg\ncd C:\\vcpkg\n",[124,656,657,662],{"__ignoreMap":122},[127,658,659],{"class":129,"line":130},[127,660,661],{},"git clone https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git C:\\vcpkg\n",[127,663,664],{"class":129,"line":136},[127,665,666],{},"cd C:\\vcpkg\n",[29,668,669,670],{},"Run the bootstrap script:",[117,671,673],{"className":119,"code":672,"language":121,"meta":122,"style":122},".\\bootstrap-vcpkg.bat\n",[124,674,675],{"__ignoreMap":122},[127,676,677],{"class":129,"line":130},[127,678,672],{},[29,680,681,682],{},"Set environment variables (recommended to add to system environment variables):",[117,683,685],{"className":119,"code":684,"language":121,"meta":122,"style":122},"$env:VCPKG_ROOT = \"C:\\vcpkg\"\n[System.Environment]::SetEnvironmentVariable('VCPKG_ROOT', 'C:\\vcpkg', 'User')\n",[124,686,687,692],{"__ignoreMap":122},[127,688,689],{"class":129,"line":130},[127,690,691],{},"$env:VCPKG_ROOT = \"C:\\vcpkg\"\n",[127,693,694],{"class":129,"line":136},[127,695,696],{},"[System.Environment]::SetEnvironmentVariable('VCPKG_ROOT', 'C:\\vcpkg', 'User')\n",[235,698,699],{},[14,700,701,704],{},[32,702,703],{},"Important:"," The VCPKG_ROOT environment variable is required for the build system to locate vcpkg libraries.",[18,706,708],{"id":707},"_9-install-dependencies","9. Install Dependencies",[59,710,712],{"id":711},"create-release-triplet","Create Release Triplet",[14,714,715],{},"vcpkg's default triplet includes debug symbols which cause link errors with Rust release builds. Create a custom triplet:",[117,717,719],{"className":119,"code":718,"language":121,"meta":122,"style":122},"@\"\nset(VCPKG_TARGET_ARCHITECTURE x64)\nset(VCPKG_CRT_LINKAGE static)\nset(VCPKG_LIBRARY_LINKAGE static)\nset(VCPKG_BUILD_TYPE release)\n\"@ | Out-File -Encoding utf8 C:\\vcpkg\\triplets\\x64-windows-static-release.cmake\n",[124,720,721,726,731,736,741,746],{"__ignoreMap":122},[127,722,723],{"class":129,"line":130},[127,724,725],{},"@\"\n",[127,727,728],{"class":129,"line":136},[127,729,730],{},"set(VCPKG_TARGET_ARCHITECTURE x64)\n",[127,732,733],{"class":129,"line":162},[127,734,735],{},"set(VCPKG_CRT_LINKAGE static)\n",[127,737,738],{"class":129,"line":169},[127,739,740],{},"set(VCPKG_LIBRARY_LINKAGE static)\n",[127,742,743],{"class":129,"line":175},[127,744,745],{},"set(VCPKG_BUILD_TYPE release)\n",[127,747,748],{"class":129,"line":181},[127,749,750],{},"\"@ | Out-File -Encoding utf8 C:\\vcpkg\\triplets\\x64-windows-static-release.cmake\n",[59,752,754],{"id":753},"install-dependencies","Install Dependencies",[235,756,757],{},[14,758,759,762,763,766,767,770,771,774,775,777],{},[32,760,761],{},"Note (Updated Feb 2026):"," The project now uses ",[124,764,765],{},"rav1e"," (a Rust-based AV1 encoder) for AVIF encoding on Windows. This eliminates the need for ",[124,768,769],{},"libaom"," and ",[124,772,773],{},"aom"," packages. ",[124,776,765],{}," avoids NASM multipass optimization requirements and improves build stability on Windows.",[14,779,780],{},"Use the automated installation script (recommended):",[117,782,784],{"className":119,"code":783,"language":121,"meta":122,"style":122},"cd DropWebP\\app\\src-tauri\n.\\setup-vcpkg.ps1\n",[124,785,786,791],{"__ignoreMap":122},[127,787,788],{"class":129,"line":130},[127,789,790],{},"cd DropWebP\\app\\src-tauri\n",[127,792,793],{"class":129,"line":136},[127,794,795],{},".\\setup-vcpkg.ps1\n",[14,797,798],{},"Or install manually:",[117,800,802],{"className":119,"code":801,"language":121,"meta":122,"style":122},"cd C:\\vcpkg\n\n# Install with x64-windows-static-release triplet (release-only)\n# Note: aom and libavif[aom] are no longer required (using rav1e)\n.\\vcpkg install libjxl:x64-windows-static-release\n.\\vcpkg install libwebp:x64-windows-static-release\n.\\vcpkg install openjpeg:x64-windows-static-release\n.\\vcpkg install libjpeg-turbo:x64-windows-static-release\n.\\vcpkg install lcms:x64-windows-static-release\n",[124,803,804,808,812,817,822,827,832,837,842],{"__ignoreMap":122},[127,805,806],{"class":129,"line":130},[127,807,666],{},[127,809,810],{"class":129,"line":136},[127,811,166],{"emptyLinePlaceholder":165},[127,813,814],{"class":129,"line":162},[127,815,816],{},"# Install with x64-windows-static-release triplet (release-only)\n",[127,818,819],{"class":129,"line":169},[127,820,821],{},"# Note: aom and libavif[aom] are no longer required (using rav1e)\n",[127,823,824],{"class":129,"line":175},[127,825,826],{},".\\vcpkg install libjxl:x64-windows-static-release\n",[127,828,829],{"class":129,"line":181},[127,830,831],{},".\\vcpkg install libwebp:x64-windows-static-release\n",[127,833,834],{"class":129,"line":186},[127,835,836],{},".\\vcpkg install openjpeg:x64-windows-static-release\n",[127,838,839],{"class":129,"line":192},[127,840,841],{},".\\vcpkg install libjpeg-turbo:x64-windows-static-release\n",[127,843,845],{"class":129,"line":844},9,[127,846,847],{},".\\vcpkg install lcms:x64-windows-static-release\n",[14,849,850],{},"Installed libraries:",[64,852,853,858,864,870,876,882],{},[29,854,855,857],{},[32,856,765],{},": AV1 encoder (Rust-based, for AVIF encoding) - automatically built by Cargo",[29,859,860,863],{},[32,861,862],{},"libjxl",": JPEG XL image format",[29,865,866,869],{},[32,867,868],{},"libwebp",": WebP image format",[29,871,872,875],{},[32,873,874],{},"openjpeg",": JPEG 2000 image format",[29,877,878,881],{},[32,879,880],{},"libjpeg-turbo",": JPEG image processing (for jpegli)",[29,883,884,887],{},[32,885,886],{},"lcms",": Little CMS color management",[235,889,890],{},[14,891,892,895,896,898],{},[32,893,894],{},"Note for macOS\u002FLinux users:"," macOS and Linux can still use ",[124,897,769],{}," as NASM and CMake configurations are more stable on those platforms.",[14,900,901],{},"Verify installation:",[117,903,905],{"className":119,"code":904,"language":121,"meta":122,"style":122},".\\vcpkg list | Select-String \"jxl|webp|openjpeg|jpeg|lcms\"\n",[124,906,907],{"__ignoreMap":122},[127,908,909],{"class":129,"line":130},[127,910,904],{},[18,912,914],{"id":913},"_10-build-the-application","10. Build the Application",[26,916,917,935,947],{},[29,918,919,920],{},"Navigate to the app directory and install dependencies:",[117,921,923],{"className":119,"code":922,"language":121,"meta":122,"style":122},"cd app\npnpm install\n",[124,924,925,930],{"__ignoreMap":122},[127,926,927],{"class":129,"line":130},[127,928,929],{},"cd app\n",[127,931,932],{"class":129,"line":136},[127,933,934],{},"pnpm install\n",[29,936,937,938],{},"Build and run the application in development mode:",[117,939,941],{"className":119,"code":940,"language":121,"meta":122,"style":122},"pnpm run dev:tauri\n",[124,942,943],{"__ignoreMap":122},[127,944,945],{"class":129,"line":130},[127,946,940],{},[29,948,949,950],{},"For a production build:",[117,951,953],{"className":119,"code":952,"language":121,"meta":122,"style":122},"pnpm run build:tauri\n",[124,954,955],{"__ignoreMap":122},[127,956,957],{"class":129,"line":130},[127,958,952],{},[14,960,961],{},"The application should now build successfully on Windows. If you encounter any issues, ensure all dependencies are properly installed and environment variables are set correctly.",[49,963],{},[18,965,967],{"id":966},"cross-building-for-arm64-windows","Cross-Building for Arm64 Windows",[14,969,970],{},"You can cross-build for Arm64 Windows (Windows on ARM) from an x64 Windows machine.",[59,972,62],{"id":973},"prerequisites-2",[64,975,976,979],{},[29,977,978],{},"x64 Windows build environment set up as described above",[29,980,981],{},"vcpkg dependencies for Arm64 target",[59,983,985],{"id":984},"_1-add-rust-toolchain","1. Add Rust Toolchain",[117,987,989],{"className":119,"code":988,"language":121,"meta":122,"style":122},"rustup target add aarch64-pc-windows-msvc\n",[124,990,991],{"__ignoreMap":122},[127,992,993],{"class":129,"line":130},[127,994,988],{},[59,996,998],{"id":997},"_2-install-vcpkg-dependencies-for-arm64","2. Install vcpkg Dependencies for Arm64",[14,1000,1001],{},"Create release triplet for Arm64 (if not already done):",[117,1003,1005],{"className":119,"code":1004,"language":121,"meta":122,"style":122},"@\"\nset(VCPKG_TARGET_ARCHITECTURE arm64)\nset(VCPKG_CRT_LINKAGE static)\nset(VCPKG_LIBRARY_LINKAGE static)\nset(VCPKG_BUILD_TYPE release)\n\"@ | Out-File -Encoding utf8 C:\\vcpkg\\triplets\\arm64-windows-static-release.cmake\n",[124,1006,1007,1011,1016,1020,1024,1028],{"__ignoreMap":122},[127,1008,1009],{"class":129,"line":130},[127,1010,725],{},[127,1012,1013],{"class":129,"line":136},[127,1014,1015],{},"set(VCPKG_TARGET_ARCHITECTURE arm64)\n",[127,1017,1018],{"class":129,"line":162},[127,1019,735],{},[127,1021,1022],{"class":129,"line":169},[127,1023,740],{},[127,1025,1026],{"class":129,"line":175},[127,1027,745],{},[127,1029,1030],{"class":129,"line":181},[127,1031,1032],{},"\"@ | Out-File -Encoding utf8 C:\\vcpkg\\triplets\\arm64-windows-static-release.cmake\n",[14,1034,1035],{},"Install dependencies:",[117,1037,1039],{"className":119,"code":1038,"language":121,"meta":122,"style":122},"cd C:\\vcpkg\n\n# Note: aom and libavif[aom] are no longer required (using rav1e)\n.\\vcpkg install libjxl:arm64-windows-static-release\n.\\vcpkg install libwebp:arm64-windows-static-release\n.\\vcpkg install openjpeg:arm64-windows-static-release\n.\\vcpkg install libjpeg-turbo:arm64-windows-static-release\n.\\vcpkg install lcms:arm64-windows-static-release\n",[124,1040,1041,1045,1049,1053,1058,1063,1068,1073],{"__ignoreMap":122},[127,1042,1043],{"class":129,"line":130},[127,1044,666],{},[127,1046,1047],{"class":129,"line":136},[127,1048,166],{"emptyLinePlaceholder":165},[127,1050,1051],{"class":129,"line":162},[127,1052,821],{},[127,1054,1055],{"class":129,"line":169},[127,1056,1057],{},".\\vcpkg install libjxl:arm64-windows-static-release\n",[127,1059,1060],{"class":129,"line":175},[127,1061,1062],{},".\\vcpkg install libwebp:arm64-windows-static-release\n",[127,1064,1065],{"class":129,"line":181},[127,1066,1067],{},".\\vcpkg install openjpeg:arm64-windows-static-release\n",[127,1069,1070],{"class":129,"line":186},[127,1071,1072],{},".\\vcpkg install libjpeg-turbo:arm64-windows-static-release\n",[127,1074,1075],{"class":129,"line":192},[127,1076,1077],{},".\\vcpkg install lcms:arm64-windows-static-release\n",[59,1079,1081],{"id":1080},"_3-build-for-arm64","3. Build for Arm64",[117,1083,1085],{"className":119,"code":1084,"language":121,"meta":122,"style":122},"cd path\\to\\DropWebP\\app\npnpm run build:tauri:windows-arm64\n",[124,1086,1087,1092],{"__ignoreMap":122},[127,1088,1089],{"class":129,"line":130},[127,1090,1091],{},"cd path\\to\\DropWebP\\app\n",[127,1093,1094],{"class":129,"line":136},[127,1095,1096],{},"pnpm run build:tauri:windows-arm64\n",[14,1098,1099],{},"Or build manually:",[117,1101,1103],{"className":119,"code":1102,"language":121,"meta":122,"style":122},"cd app\\src-tauri\ncargo build --release --target aarch64-pc-windows-msvc\ncd ..\npnpm tauri build --target aarch64-pc-windows-msvc\n",[124,1104,1105,1110,1115,1120],{"__ignoreMap":122},[127,1106,1107],{"class":129,"line":130},[127,1108,1109],{},"cd app\\src-tauri\n",[127,1111,1112],{"class":129,"line":136},[127,1113,1114],{},"cargo build --release --target aarch64-pc-windows-msvc\n",[127,1116,1117],{"class":129,"line":162},[127,1118,1119],{},"cd ..\n",[127,1121,1122],{"class":129,"line":169},[127,1123,1124],{},"pnpm tauri build --target aarch64-pc-windows-msvc\n",[59,1126,1128],{"id":1127},"notes","Notes",[64,1130,1131,1134,1137],{},[29,1132,1133],{},"Arm64 binaries will only run on Arm64 Windows devices (e.g., Surface Pro X)",[29,1135,1136],{},"Cross-built binaries cannot be executed on x64 machines",[29,1138,1139,1140],{},"Build artifacts are generated in ",[124,1141,1142],{},"app\u002Fsrc-tauri\u002Ftarget\u002Faarch64-pc-windows-msvc\u002Frelease\u002F",[1144,1145,1146],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":122,"searchDepth":136,"depth":136,"links":1148},[1149,1150,1155,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1173,1174],{"id":20,"depth":136,"text":21},{"id":53,"depth":136,"text":54,"children":1151},[1152,1153,1154],{"id":61,"depth":162,"text":62},{"id":83,"depth":162,"text":84},{"id":218,"depth":162,"text":219},{"id":252,"depth":136,"text":253,"children":1156},[1157,1158,1159],{"id":256,"depth":162,"text":62},{"id":266,"depth":162,"text":84},{"id":346,"depth":162,"text":347},{"id":367,"depth":136,"text":368},{"id":371,"depth":136,"text":372},{"id":412,"depth":136,"text":413},{"id":441,"depth":136,"text":442},{"id":462,"depth":136,"text":463},{"id":515,"depth":136,"text":516},{"id":573,"depth":136,"text":574},{"id":608,"depth":136,"text":609},{"id":645,"depth":136,"text":646},{"id":707,"depth":136,"text":708,"children":1170},[1171,1172],{"id":711,"depth":162,"text":712},{"id":753,"depth":162,"text":754},{"id":913,"depth":136,"text":914},{"id":966,"depth":136,"text":967,"children":1175},[1176,1177,1178,1179,1180],{"id":973,"depth":162,"text":62},{"id":984,"depth":162,"text":985},{"id":997,"depth":162,"text":998},{"id":1080,"depth":162,"text":1081},{"id":1127,"depth":162,"text":1128},false,"md",null,{},"\u002Fbuild-windows",{"title":5,"description":16},"build-windows","IGFFRg4qKQZvaKVf7iPe3OJ3yb6zgIHpdrLG55zBBxY",1780198563090]