Download mingw w64
Author: A | 2025-04-24
mingw-w64-install.exe; mingw; mingw-w64; x86_64-win32-seh; x86_64-posix-seh; mingw-w64 - for bit windows; download installer; mingw-w64 gcc-8.1.0; mingw Done The following additional packages will be installed: binutils-mingw-w64-i686 binutils-mingw-w64-x g-mingw-w64 g-mingw-w64-i686 g-mingw-w64-x gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x mingw-w64-common mingw-w64-i686-dev mingw-w64-x dev Suggested packages: gcc-7-locales
Downloading File /mingw-w64/mingw-w64-release/mingw-w64
\ libopenssl \ libp11-kit-devel \ libtasn1-devel \ libunistring \ make \ mingw-w64-x86_64-binutils \ mingw-w64-x86_64-bzip2 \ mingw-w64-x86_64-cairo \ mingw-w64-x86_64-crt-git \ mingw-w64-x86_64-dbus \ mingw-w64-x86_64-expat \ mingw-w64-x86_64-fontconfig \ mingw-w64-x86_64-freetype \ mingw-w64-x86_64-gcc \ mingw-w64-x86_64-gcc-libs \ mingw-w64-x86_64-gdk-pixbuf2 \ mingw-w64-x86_64-gettext \ mingw-w64-x86_64-giflib \ mingw-w64-x86_64-glib2 \ mingw-w64-x86_64-gmp \ mingw-w64-x86_64-gnutls \ mingw-w64-x86_64-harfbuzz \ mingw-w64-x86_64-headers-git \ mingw-w64-x86_64-imagemagick \ mingw-w64-x86_64-isl \ mingw-w64-x86_64-jansson \ mingw-w64-x86_64-libffi \ mingw-w64-x86_64-libgccjit \ mingw-w64-x86_64-libiconv \ mingw-w64-x86_64-libidn2 \ mingw-w64-x86_64-libjpeg-turbo \ mingw-w64-x86_64-libpng \ mingw-w64-x86_64-librsvg \ mingw-w64-x86_64-libsystre \ mingw-w64-x86_64-libtasn1 \ mingw-w64-x86_64-libtiff \ mingw-w64-x86_64-libunistring \ mingw-w64-x86_64-libwinpthread-git \ mingw-w64-x86_64-libxml2 \ mingw-w64-x86_64-mpc \ mingw-w64-x86_64-mpfr \ mingw-w64-x86_64-nettle \ mingw-w64-x86_64-p11-kit \ mingw-w64-x86_64-pango \ mingw-w64-x86_64-pixman \ mingw-w64-x86_64-winpthreads \ mingw-w64-x86_64-xpm-nox \ mingw-w64-x86_64-xz \ mingw-w64-x86_64-zlib \ mingw-w64-x86_64-jbigkit \ nano \ openssl \ pkgconf \ tar \ texinfo \ wget Get emacs source.mkdir emacs; cd emacsgit clone emacsgit config core.autocrlf falseBuild Emacs!Change target accordingly, the directory in which the freshly built Emacs binaries, libraries, and docs live.target=/c/emacsexport PATH=/mingw64/bin:$PATH mkdir build; cd build(cd ../emacs; ./autogen.sh)export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig../emacs/configure \ --host=x86_64-w64-mingw32 \ --target=x86_64-w64-mingw32 \ --build=x86_64-w64-mingw32 \ --with-native-compilation \ --with-gnutls \ --with-imagemagick \ --with-jpeg \ --with-json \ --with-png \ --with-rsvg \ --with-tiff \ --with-wide-int \ --with-xft \ --with-xml2 \ --with-xpm \ 'CFLAGS=-I/mingw64/include/noX' \ prefix=$target make make install prefix=$target# Only needed for standalone dist (wo MSYS2 env)# cp /mingw64/bin/*.dll $target/bin
Download mingw-w64-install.exe (MinGW-w64 - for
Media-autobuild_suiteBefore opening an issue, check if it's an issue directly from executing the suite. This isn't Doom9, reddit, stackoverflow or any other forum for general questions about the things being compiled. This script builds them, that's all.This source code is also mirrored in GitLab.Most git sources in the suite use GitHub, so if it's down, it's probably useless to run the suite at that time.DownloadClick here to download latest versionFor information about the compiler environment see the wiki, there you also have a example of how to compile your own tools.Included Tools And LibrariesInformation about FFmpeg external librariesFFmpeg (shared or static) with these libraries (all optional, but compiled by default unless said otherwise):Light build:amd amf encoders (built-in)cuda (built-in)cuda-llvm (built-in)cuvid (built-in)ffnvcodec (git)libaom (git)libdav1d (git)libfdk-aac (git)needs non-free license if not LGPLlibmp3lame (mingw-w64)libopus (mingw-w64)libvorbis (mingw-w64)libvpx (git)libx264 (git)libx265 (git)nvdec (built-in)nvenc (built-in)schannel with gmp (mingw-w64)enabled by default if openssl, libtls, mbedtls or gnutls aren't enabledgmp can be switched by gcrypt (mingw-w64) with --enable-gcryptsdl2 (git tag) (needed for ffplay)enabled by default, use --disable-sdl2 if unneededZeranoe-emulating build (in addition to Light)avisynthplus (needs avisynth dll installed)fontconfig (latest release)only one of these TLS libs (including schannel) can be enabled at once:openssl (mingw-w64)preferred to gnutls and to libtls if all three are in optionsneeds non-GPL licenselibtls (from libressl) (latest release)needs non-GPL licensembedtls (mingw-w64)preferred to gnutls if GPLv3 license is chosengnutls (3.8.9)libass (git)by default with DirectWrite backendif --enable-fontconfig, fontconfig backend includedwith harfbuzz (git)libbluray (git)BD-J support requires installation of Java JDKBD-J support after compilation probably only requires JRE (untested)libfreetype (latest release)libgsm (mingw-w64)libmfx (git)libmodplug (mingw-w64)libopencore-amr(nb/wb) (mingw-w64)libopenjpeg2 (mingw-w64)libopenmpt (git tag)librav1e (git)libsnappy (mingw-w64)libsoxr (git)libspeex (mingw-w64)libsrt (git)libsvtav1 (git)libtheora (mingw-w64)libtwolame (mingw-w64)libvidstab (git)libvmaf (git)libvo-amrwbenc (0.1.3)libwebp (git)libxml2 (mingw-w64)libxvid (git)libzimg (git)Full build (in addition to Zeranoe)chromaprint (mingw-w64)cuda filters (needs CUDA SDK installed)needs non-free licensedecklink (12.5.1)needs non-free licensefrei0r (git)ladspa (mingw-w64)libaribb24 (git)libbs2b (3.1.0)libcaca (mingw-w64)libcdio (mingw-w64)libcodec2 (git)libdavs2 (git)libflite (git)libfribidi (git)libglslang (git)libgme (0.6.3)libilbc (git)libjxl (git)libkvazaar (git)libmysofa (git)needed for sofalizer filterlibnpp (needs CUDA SDK installed)needs non-free licenselibopenh264 (official binaries)librist (git)librtmp (git)librubberband (git)libssh (broken)libsvthevc (git) (using non-upstream patch)libsvtvp9 (git) (using non-upstream patch)libtesseract (git)libuavs3d (git)libxavs (git)libxavs2 (git)libzmq (mingw-w64)libzvbi (git)openal (git)opencl (from system)opengl (from system)vapoursynth (R70)vulkan (git)other toolsaom (git)av1an (git)requires an installed or portable copy of 64-bit Python 3.12.x and Vapoursynthbmx (git)curl (git) with WinSSL/LibreSSL/OpenSSL/mbedTLS/GnuTLS backendcyanrip (git)dav1d (git)dssim (git)exhale (git)faac (git)fdk-aac (git)ffmbc (git) (unsupported)flac (git)gifski (git)with optional built-in video support (ffmpeg 6.1)haisrt tools (git)jo (git)jpeg-xl tools (git)jq (git)kvazaar (git)lame (3.100)libaacs (git) (shared)libavif (git) with following encoders/decoders:aom (enc/dec)dav1d (dec only)rav1e (enc only)svt-av1 (enc only)libheif (git) with following encoders/decoders:x265 (enc only)kvazaar (enc only)libde265 (dec only)aom (enc/dec)dav1d (dec only)svt-av1 (enc only)vvenc & vvdecuvg266 (enc only)libjpeg (enc/dec)openh264 (dec only)uncompressedlibbdplus (git) (shared)mediainfo cli (git)mp4box (git)mplayer (svn) (unsupported)mpv (git) including in addition to ffmpeg libs:Base build (ffmpegChoice=2 or 3)ANGLE Headers (git)requires ANGLE shared libraries from somewhere else (i.e. Chrome, Firefox) for gpu-context=angle supportlcms2 (mingw-w64)libass (git)libbluray (git)BD-J support requires installation of Java JDKBD-J support after compilation probably only requires JRE (untested)luajit (git)mujs (git)rubberband (git snapshot)uchardet (mingw-w64)vulkan, shaderc, spirv-cross, libplacebo (git)vapoursynth (R70)Full build (ffmpegChoice=4)dvdnav (git)libarchive (mingw-w64)shared libmpvopenal (git)opus-tools (git)rav1e (git)ripgrep (git)rtmpdump (git)sox (git)speex (git)svt-av1 (git)svt-hevc (git)tesseract (git)uvg266 (git)vlc (git) (broken)vvenc & vvdec (git)vorbis-tools (git)vpx (VP8 andMinGW-w64 - for bit Windows - Browse /mingw-w64/mingw-w64
NetRadiantThe open source, cross platform level editor for id Tech-derivated games, heir of GtkRadiant.Learn more on NetRadiant website: netradiant.gitlab.io.Download NetRadiantPrebuilt binaries can be found on the Download page.Compatibility matrixSystemBuildBundleRunBuild requirementsLinuxYesYesYesGCC or ClangFreeBSDYesYesYesGCC or ClangWindowsYesYesYesMSYS2/Mingw64 or Mingw32Wine--Yes-macOSYesYesYesHomebrew, GCC or Clang and builtin GtkGLExtNetRadiant is known to build and run properly on Linux, FreeBSD and Windows using MSYS2, and build on macOS with Homebrew (some bugs are known though). Windows build is known to work well on wine, which can be used as a fallback on some system.At this time library bundling is supported on Linux, FreeBSD, Windows/MSYS2, and macOS/Homebrew. Since bundling copies things from the host, a clean build environment has to be used in order to get a clean bundle. Linux and FreeBSD bundles do not ship GTK: users are expected to have a working GTK environment with GtkGLExt installed, usually installing GtkGLExt is enough to pull everything that is required.Getting the sourcesSource browser, issues and more can be found on the gitlab project: gitlab.com/xonotic/netradiantThe latest source is available from the git repository: git client can be obtained from your distribution repository or from the Git website: git-scm.orgA copy of the source tree can be obtained by using the git command line client this way:git clone --recursive netradiantDependenciesOpenGL, LibXml2, GTK2, GtkGLExt, LibJpeg, LibPng, LibWebp, Minizip, ZLib.To fetch default game packages you'll need Git, Subversion, Wget and unzip.It's possible to build against GTK3 using the -DGTK_TARGET=3 cmake option, but some problems may be encountered, see GUI/GTK issues. GTK2 remains recommended for now.Ubuntu:apt-get install --reinstall build-essential cmake \ lib{x11,gtk2.0,gtkglext1,xml2,jpeg,webp,minizip}-dev \ git subversion unzip wgetIf you plan to build a bundle, you also need to install uuid-runtime patchelfThis is enough to build NetRadiant but you may also install those extra packages to get proper GTK2 graphical and sound themes: gnome-themes-extra gtk2-engines-murrine libcanberra-gtk-moduleMSYS2:Under MSYS2, the mingw shell must be used.If you use MSYS2 over SSH, add mingw64 to the path this way (given you compile for 64 bit Windows, replace with mingw32 if you target 32 bit Windows instead):export PATH="/mingw64/bin:${PATH}"Install the dependencies this way:pacman -S --needed base-devel git subversion unzip \ mingw-w64-$(uname -m)-{ntldd-git,toolchain,cmake,make,gtk2,gtkglext,libwebp,minizip-git}Explicitely use mingw-w64-x86_64- or mingw-w64-i686- prefix instead of mingw-w64-$(uname -m) if you need to target a non-default architecture.FreeBSD:pkg install cmake gtkglext pkgconf minizip webp coreutils gsed git subversion wget unzipIf you plan to build a bundle, you also need to install patchelfmacOS:Note: some dependencies of gtk+ seems to only be pulled with gtk+3, gtkglext seems to require libffi.brew install cmake glib gobject-introspection libffi gtk+ gtk+3 gtk-doc pkgconfig minizip webp coreutils gnu-sed wget sasscbrew link --force gettextSubmodulesCrunch (optional, not built if submodule is not present)If you have not used --recursive option at git clone time, you can fetch Crunch this way (run this. mingw-w64-install.exe; mingw; mingw-w64; x86_64-win32-seh; x86_64-posix-seh; mingw-w64 - for bit windows; download installer; mingw-w64 gcc-8.1.0; mingw Done The following additional packages will be installed: binutils-mingw-w64-i686 binutils-mingw-w64-x g-mingw-w64 g-mingw-w64-i686 g-mingw-w64-x gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x mingw-w64-common mingw-w64-i686-dev mingw-w64-x dev Suggested packages: gcc-7-localesmingw-w64/mingw-w64: (Unofficial) Mirror of mingw-w64-code
Recommendations after installing the dependencies. This is not a supported option and has limitations with Cocoa integration.onscripter-ru-osx64h has AVX 2 extensions turned on, make sure to turn them off if your CPU is older than Haswell.For iOS ipa generation use Scripts/ipabuild.tool after compiling the app in Xcode.Cross-compiling for WindowsCross compiling is the easiest way to get Windows binaries.Install the MinGW-W64 dependencies for i686. On macOS this could be done with a MacPorts command:sudo port install i686-w64-mingw32-binutils i686-w64-mingw32-crt i686-w64-mingw32-gcc i686-w64-mingw32-headersRun the necessary commands:cd /path/to/onscripterexport CC=i686-w64-mingw32-gccexport CXX=i686-w64-mingw32-g++export LD=i686-w64-mingw32-ldexport AR=i686-w64-mingw32-arexport RANLIB=i686-w64-mingw32-ranlibexport AS=i686-w64-mingw32-aschmod a+x configure./configure --cross=i686-w64-mingw32makeHost-compiling WindowsWindows compilation is normally the most difficult one due to Linux build tools ported not ideally to a Microsoft system.You will need these tools:MSYS2 (pick an installer file according to your system architecture)CLion or CodeLite for a more convenient debugging interface (optional)Install MSYS2 to C:\msys64 (installing to other locations and using CLion require one to change MSYS_PATH in CMakeLists.txt).Update MSYS2 core (always use mingw32.exe):Close MSYS2 at that point and run the following command after reopening it:Repeat the previous action until you are fully updated.Install the required packages via pacman:pacman -S base-devel git mercurial subversion unzip yasm mingw-w64-i686-toolchain mingw-w64-i686-cmake pythonOptionally install these packages:pacman -S mingw-w64-i686-codelite-git mingw-w64-i686-gcc-debug mingw-w64-i686-clangProceed using the generic method of compilation at the beginning of these instructions. Provide --prefer-clang configure argument if using Clang.NOTES:GDB may find no source in your executable, make DEBUG=1 is needed to build a debug binary.If you need to build a shared SDL2 library, after you change --disable-shared to --disable-static you may get an error on compilation step with SDL_window_main.o not found. To fix that you are in need to go to SDL2 sources and copy the contents of build/.libs to build (perhaps one more time after next step). Then manually run make and make install. To mark the package as built run touch onscrlib/onscrlib/.pkgs/SDL2.Latest gdb versions from MSYS2 distribution do not always work properly in Codelite. A slightly older mingw build may be more stable (try gdb2014-05-23.zip).You may run into issues if you forget to start MSYS2 via mingw32.exe.You must remember that MSYS2 uses linux-style slashes for paths. This means a path C:\Directory\AnotherDir should be written as /c/Directory/AnotherDir in MSYS2.First compilation must be performed outside of CLion due to several incompatibilities.Using make -j4 or similar is prohibited for the first compilation and is not recommended when building with gcc due to MinGW issues.Using CLion:As an alternative to Codelite you may use CLionDownload mingw-w64-install.exe (MinGW-w64 - for bit
Skip to content Navigation Menu GitHub Copilot Write better code with AI Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Learning Pathways Events & Webinars Ebooks & Whitepapers Customer Stories Partners Executive Insights GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Enterprise platform AI-powered developer platform Pricing Provide feedback Saved searches Use saved searches to filter your results more quickly /;ref_cta:Sign up;ref_loc:header logged out"}"> Sign up Notifications You must be signed in to change notification settings Fork 25 Star 205 Code Issues 21 Pull requests 1 Actions Projects Security Insights Open-StreamOpen source low latency stream solution.Open Stream is a fork open Sunshine Server. Creating open source solution for Gaming and Desktop Management.Project structureroot folder: contains the GUI application.openstreamhost folder: contains the streaming host application. Includes git submodules.BuildingWindows build requirementsWindows 10 64 bits.Msys2 development platform. mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-boostQt SDK for Msys2Qt packagesBuild the project using QtCreator:Open the project using the CMake support and selecting the CMakeList file in root folder.Select building kit MinGW-w64 64bit (MSYS2)Build the application to produce the executable files. These executable files will be required for packaging a new release installer. Go to installer folder to find the installer building instructions.Download mingw-w64-v8.0.2.tar.bz2 (MinGW-w64 - for
Table of ContentsOverviewAboutBinary Snapshotsvcpkg portmsys2 MinGW-w64 32bit/64bit packageBuild from SourceSupported EnvironmentsUSB 3.x Support.NET supportHow to use libusb on WindowsDriver InstallationDevelopment ConsiderationsKnown RestrictionsDevelopment LinksOverviewAboutThis page details the specifics of the Windows backend part of libusb, which helps developers easily communicate with USB devices on Windows.Currently it supports the WinUSB and HID drivers for generic USB device access as well as the libusb-win32 and libusbK drivers.Please note that libusb-win32 and libusbK are separate projects. libusb-win32 is a Windows-only project which provides a libusb-0.1 API compatible library for Windows and the associated kernel driver libusb0.sys. libusbK is a Windows only project which provides a new set of API for Windows (supporting WinUSB, libusb0.sys and libusbk.sys) and kernel driver libusbK.sys.Binary SnapshotsPre-built binary snapshots are provided in the Sourceforge files directory along with the source code archive. Since 1.0.21 release, they are also at the GitHub release page.The pre-built Windows binaries are provided AS IS for your convenience, generated for the following environments:Microsoft Visual Studio; MS32 (32 bit) and MS64 (64 bit) directoriesMinGW -> MinGW32 (32 bit) and MinGW64 (64 bit) directories. Note that these archives are provided in the 7z format so you may have to install 7-zip.vcpkg portvcpkg now includes libusb ports.Installing and building libusb via vcpkg:You can download and install libusb using the vcpkg dependency manager: git clone cd vcpkg .\bootstrap-vcpkg.bat .\vcpkg integrate install .\vcpkg install libusbThe libusb port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.msys2 MinGW-w64 32bit/64bit packagemsys2 has a libusb package. Please contact the msys2 project if you encountered issues with the msys2 package. It is recommended to use pkg-config (libusb-1.0.pc) on MSYS2 or other MinGW-w64 distributions. Reference: how to use libusb under MinGW-w64?Build fromDownload mingw-w64-install.exe (MinGW-w64 - SourceForge
Compiling for WindowsCompiling for Windows is supported using GNU-like compilers (GCC/Clang). Clangis compatible with both the w64-windows-gnu MinGW-w64and pc-windows-msvc Windows SDKtargets. It supports the production of both 32-bit and 64-bit binaries and issuitable for building on Windows as well as cross-compiling from Linux and Cygwin.Although it is possible to build a complete MinGW-w64 toolchain yourself, thereare build environments and scripts available to simplify the process, such asMSYS2 on Windows or a packaged toolchain provided by your favorite Linuxdistribution. Note that MinGW-w64 environments included in Linux distributionscan vary in versions. As a general guideline, mpv only supports the MinGW-w64toolchain version included in the latest Ubuntu LTS release.mpv employs Meson for building, and the process is the same as any standard Mesoncompilation.For the most up-to-date reference on build scripts, you can refer tobuild.yml,which builds and tests all supported configurations: MinGW-w64, Windows SDK,and MSYS2 builds.Cross-compilationWhen cross-compiling, it is recommended to use a Meson --cross-file to set up thecross-compiling environment. For a basic example, please refer toCross-compilation.Alternatively, consider using mpv-winbuild-cmake,which bootstraps a MinGW-w64 toolchain and builds mpv along with its dependencies.Example with MesonCreate cross-file.txt with definitions for your toolchain and target platform.Refer to x86_64-w64-mingw32.txtas a directly usable example.Important: Beware of pkg-config usage. By default, it uses build machinefiles for dependency detection, even when --cross-file is used. It mustbe configured correctly. Refer to pkg_config_libdir and sys_rootin the documentationfor proper setup. In this example pkg-config is not used/required.Initialize subprojects. This step is optional; other methods are alsoavailable to provide the necessary dependencies. subprojects/libplacebo.wrap[wrap-git]url = = masterdepth = 1clone-recursive = trueEOFcat subprojects/libass.wrap[wrap-git]revision = masterurl = = 1EOF# For FFmpeg, use Meson's build system port; alternatively, you can compile# the upstream version yourself. See subprojects/ffmpeg.wrap[wrap-git]url = = meson-7.1depth = 1[provide]libavcodec = libavcodec_deplibavdevice = libavdevice_deplibavfilter = libavfilter_deplibavformat = libavformat_deplibavutil = libavutil_deplibswresample = libswresample_deplibswscale = libswscale_depEOF"># Update the subprojects database from Meson's WrapDB.meson wrap update-db# Explicitly download wraps as nested projects may have older versions of them.meson wrap install expatmeson wrap install harfbuzzmeson wrap install libpngmeson wrap install zlib# Add wraps for mpv's required dependenciesmkdir -p subprojectscat EOF > subprojects/libplacebo.wrap[wrap-git]url = = masterdepth = 1clone-recursive = trueEOFcat EOF > subprojects/libass.wrap[wrap-git]revision = masterurl = = 1EOF# For FFmpeg, use Meson's build system port; alternatively, you can compile# the upstream version yourself. See EOF > subprojects/ffmpeg.wrap[wrap-git]url = = meson-7.1depth = 1[provide]libavcodec = libavcodec_deplibavdevice = libavdevice_deplibavfilter = libavfilter_deplibavformat = libavformat_deplibavutil = libavutil_deplibswresample = libswresample_deplibswscale = libswscale_depEOFBuildmeson setup -Ddefault_library=static -Dprefer_static=true \ -Dc_link_args='-static' -Dcpp_link_args='-static' \. mingw-w64-install.exe; mingw; mingw-w64; x86_64-win32-seh; x86_64-posix-seh; mingw-w64 - for bit windows; download installer; mingw-w64 gcc-8.1.0; mingw Done The following additional packages will be installed: binutils-mingw-w64-i686 binutils-mingw-w64-x g-mingw-w64 g-mingw-w64-i686 g-mingw-w64-x gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x mingw-w64-common mingw-w64-i686-dev mingw-w64-x dev Suggested packages: gcc-7-locales
Download mingw-w64-v11.0.0.tar.bz2 (MinGW-w64 - for
Vs-wsl-fortranA Fortran example project using Visual Studio and Windows Subsystem for Linux (WSL).Getting startedRequirementsVisual Studio 2019Windows Subsystem for Linux (WSL)Note: This was tested on a system with Windows 10 2004, Visual Studio 16.6 and WSL 2.Prepare the WSLDownload and install a Linux distribution for WSL.This example was tested with Debian Buster, but other distributions should work just as well.Install the packages needed for your WSL installation to work with Visual Studio:sudo apt install g++ gdb make ninja-build rsync zipFor more detailed instructions see theLinux development with C++ documentation.In addition we need to install the gfortran compiler:sudo apt install gfortranBuild the projectStart Visual Studio and open the vs-wsl-fortran folder.Select the WSL-GCC-Debug target, then build it.Run the Linux executable inside Visual StudioSelect vs-wsl-fortran (src\vs-wsl-fortran) as the startup item and start it (F5).To see the output you might need to open the Linux Console Window view.Cross-compile a Windows executableThe mingw compiler can be used to create Windows binaries.Install an appropriate mingw package in the WSL installation, for example:sudo aptitude install gfortran-mingw-w64-x86-64Build the project for WindowsIn Visual Studio select the WSL-MINGW-Release target and build it.After building the executable you still need to copy some DLLs into that folder.In the case of Debian these DLLs are provided by the mingw package:/out/build/WSL-MINGW-Release/srccp /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/*.dll .">cd vs-wsl-fortran_folder>/out/build/WSL-MINGW-Release/srccp /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/*.dll .Now you can run the executable in a Windows PowerShell or CMD:NotesCMakeSettings.jsonNinja is not yet supported for Fortran, so generator has to be set to "Unix Makefiles" instead.When cross compiling the compiler has to be specified with "-DCMAKE_Fortran_COMPILER=/usr/bin/x86_64-w64-mingw32-gfortran" in the CMake Command Arguments.This is not necessary when targeting Linux, in that case the default gfortran compiler is detected automatically.Fortran syntax highlighting in Visual StudioBy default Visual Studio does not provide any syntax highlighting for Fortran code,but it can be added as described here.First create the following folder:%userprofile%\.vs\Extensions\Syntaxes\Then download an appropriateDownload mingw-w64-v12.0.0.zip (MinGW-w64 - for
To use the software management tools ofyour OS (apt, dnf, portage, BSD ports, Homebrew for macOS, ...).For Windows, there are two options:Use the provided binaries (recommended, see below)Compile these libraries yourselfCreate a distinct build folder outside of this source repository and issuethe cmake command there, pointing it at the neo/ folder from this repository:cmake /path/to/repository/neomacOS users need to point CMake at OpenAL Soft (better solutions welcome):cmake -DOPENAL_LIBRARY=/usr/local/opt/openal-soft/lib/libopenal.dylib -DOPENAL_INCLUDE_DIR=/usr/local/opt/openal-soft/include /path/to/repository/neoUsing the provided Windows binariesGet a clone of the latest binaries here: are two subfolders:32-bit binaries are located in i686-w64-mingw3264-bit binaries are located in x86_64-w64-mingw32Issue the appropriate command from the build folder, for example:cmake -G "Visual Studio 10" -DDHEWM3LIBS=/path/to/dhewm3-libs/i686-w64-mingw32 /path/to/repository/neocmake -G "MinGW Makefiles" -DDHEWM3LIBS=/path/to/dhewm3-libs/x86_64-w64-mingw32 /path/to/repository/neoThe binaries are compatible with MinGW-w64 and all MSVC versions.Cross-compilingFor cross-compiling, a CMake Toolchain file is required.For the MinGW-w64 toolchain i686-w64-mingw32 on Ubuntu 12.04, it looks like:set(CMAKE_SYSTEM_NAME Windows)set(CMAKE_SYSTEM_PROCESSOR i686)set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)set(CMAKE_RC_COMPILER i686-w64-mingw32-windres)set(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)Then point CMake at your toolchain file:cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/Toolchain.cmake -DDHEWM3LIBS=/path/to/dhewm3-libs/i686-w64-mingw32 /path/to/repository/neoBack End Rendering of Stencil ShadowsThe Doom 3 GPL source code release does not include functionality enabling renderingof stencil shadows via the "depth fail" method, a functionality commonly known as"Carmack's Reverse".Note that this does not change the visual appereance of the game.The shadows look the same, they're just created in a slightly different way.In theory there might be a small performance impact, but on hardware less thanten years old it shouldn't make a difference.MayaImportThe code for our Maya export plugin is included, if you are a Maya licenseeyou can obtain the SDK from Autodesk.LICENSESee COPYING.txt for the GNU GENERAL PUBLIC LICENSEADDITIONAL TERMS: The Doom 3 GPL Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU GPL which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.EXCLUDED CODE: The code described below and contained in the Doom 3 GPL Source Code release is not part of the Program covered by the GPL and is expressly excluded from its terms. You are solely responsible for obtaining from the copyright holder a license for such code and complying with the applicable license terms.PropTreeneo/tools/common/PropTree/*Copyright (C) 1998-2001 Scott [email protected] material is provided "as is", with absolutely no warranty expressedor implied. Any use is at your own risk.Permission to. mingw-w64-install.exe; mingw; mingw-w64; x86_64-win32-seh; x86_64-posix-seh; mingw-w64 - for bit windows; download installer; mingw-w64 gcc-8.1.0; mingw Done The following additional packages will be installed: binutils-mingw-w64-i686 binutils-mingw-w64-x g-mingw-w64 g-mingw-w64-i686 g-mingw-w64-x gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x mingw-w64-common mingw-w64-i686-dev mingw-w64-x dev Suggested packages: gcc-7-localesDownload mingw-w64-v11.0.1.zip (MinGW-w64 - for
To /usr/local/go per the Linux instructions at PATH=$PATH:/usr/local/go/bingit clone payload-dumper-goapt-get install liblzma-devGOOS=linux GOARCH=386 CGO_ENABLED=1 CC=i686-linux-gnu-gcc go build -a -ldflags '-extldflags "-static -s -w"' Then, I found that payload-dumper-go's go-xz dependency also in turn being dependent on the toolchain hopefully containing liblzma is extremely problematic/frustrating for Go cross-compiling, but was able to hack the MSYS2 mingw-w64-i686-xz liblzma into the Ubuntu mingw-w64 toolchain to make a static Win32 build: apt-get install mingw-w64# install include and lib from to /usr/i686-w64-mingw32GOOS=windows GOARCH=386 CGO_ENABLED=1 CC=i686-w64-mingw32-gcc go build -a -ldflags '-extldflags "-static -s -w"' And finally, for Android, NDK gcc wasn't cooperating with `go build` but, since we're building static, Linux armhf will still work fine, but we still need a similar trick to get Ubuntu's own armhf liblzma into the armhf toolchain: apt-get install gcc-arm-linux-gnueabihf# install include and lib from to /usr/arm-linux-gnueabihfGOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 CC=arm-linux-gnueabihf-gcc go build -a -ldflags '-extldflags "-static -s -w"' I also noticed it doesn't print instructions even though there are some in the code, and have added a PR to fix that: @ssssut will still see about adding Incremental OTA support at some point, maybe do something about go-xz to make cross-compiling easier, and ideally add a feature to only dump specific partitions, since extracting the entire payload.bin can be time-consuming (and RAM-consuming!) when all you want is boot.img. So, without further ado, here are my builds:[ Attachments removed since they're now superseded by CI releases on GitHub in all major architectures! ] Last edited: Apr 28, 2021 osm0sis Senior Recognized Developer / Contributor #8 ideally add a feature to only dump specific partitions There is python variant of dumper with this feature (if anyone interested). #9 Trying this on a SP7 with Oneplus6 firmware -- I get a crash towards the end "panic: Memory allocation failed" (I use the static compiled version by osmosis) osm0sis Senior Recognized Developer / Contributor #10 Trying this on a SP7 with Oneplus6 firmware -- I get a crash towards the end "panic: Memory allocation failed" (I use the static compiled version by osmosis) To quote my module post: "Only issue I've seen soComments
\ libopenssl \ libp11-kit-devel \ libtasn1-devel \ libunistring \ make \ mingw-w64-x86_64-binutils \ mingw-w64-x86_64-bzip2 \ mingw-w64-x86_64-cairo \ mingw-w64-x86_64-crt-git \ mingw-w64-x86_64-dbus \ mingw-w64-x86_64-expat \ mingw-w64-x86_64-fontconfig \ mingw-w64-x86_64-freetype \ mingw-w64-x86_64-gcc \ mingw-w64-x86_64-gcc-libs \ mingw-w64-x86_64-gdk-pixbuf2 \ mingw-w64-x86_64-gettext \ mingw-w64-x86_64-giflib \ mingw-w64-x86_64-glib2 \ mingw-w64-x86_64-gmp \ mingw-w64-x86_64-gnutls \ mingw-w64-x86_64-harfbuzz \ mingw-w64-x86_64-headers-git \ mingw-w64-x86_64-imagemagick \ mingw-w64-x86_64-isl \ mingw-w64-x86_64-jansson \ mingw-w64-x86_64-libffi \ mingw-w64-x86_64-libgccjit \ mingw-w64-x86_64-libiconv \ mingw-w64-x86_64-libidn2 \ mingw-w64-x86_64-libjpeg-turbo \ mingw-w64-x86_64-libpng \ mingw-w64-x86_64-librsvg \ mingw-w64-x86_64-libsystre \ mingw-w64-x86_64-libtasn1 \ mingw-w64-x86_64-libtiff \ mingw-w64-x86_64-libunistring \ mingw-w64-x86_64-libwinpthread-git \ mingw-w64-x86_64-libxml2 \ mingw-w64-x86_64-mpc \ mingw-w64-x86_64-mpfr \ mingw-w64-x86_64-nettle \ mingw-w64-x86_64-p11-kit \ mingw-w64-x86_64-pango \ mingw-w64-x86_64-pixman \ mingw-w64-x86_64-winpthreads \ mingw-w64-x86_64-xpm-nox \ mingw-w64-x86_64-xz \ mingw-w64-x86_64-zlib \ mingw-w64-x86_64-jbigkit \ nano \ openssl \ pkgconf \ tar \ texinfo \ wget Get emacs source.mkdir emacs; cd emacsgit clone emacsgit config core.autocrlf falseBuild Emacs!Change target accordingly, the directory in which the freshly built Emacs binaries, libraries, and docs live.target=/c/emacsexport PATH=/mingw64/bin:$PATH mkdir build; cd build(cd ../emacs; ./autogen.sh)export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig../emacs/configure \ --host=x86_64-w64-mingw32 \ --target=x86_64-w64-mingw32 \ --build=x86_64-w64-mingw32 \ --with-native-compilation \ --with-gnutls \ --with-imagemagick \ --with-jpeg \ --with-json \ --with-png \ --with-rsvg \ --with-tiff \ --with-wide-int \ --with-xft \ --with-xml2 \ --with-xpm \ 'CFLAGS=-I/mingw64/include/noX' \ prefix=$target make make install prefix=$target# Only needed for standalone dist (wo MSYS2 env)# cp /mingw64/bin/*.dll $target/bin
2025-04-18Media-autobuild_suiteBefore opening an issue, check if it's an issue directly from executing the suite. This isn't Doom9, reddit, stackoverflow or any other forum for general questions about the things being compiled. This script builds them, that's all.This source code is also mirrored in GitLab.Most git sources in the suite use GitHub, so if it's down, it's probably useless to run the suite at that time.DownloadClick here to download latest versionFor information about the compiler environment see the wiki, there you also have a example of how to compile your own tools.Included Tools And LibrariesInformation about FFmpeg external librariesFFmpeg (shared or static) with these libraries (all optional, but compiled by default unless said otherwise):Light build:amd amf encoders (built-in)cuda (built-in)cuda-llvm (built-in)cuvid (built-in)ffnvcodec (git)libaom (git)libdav1d (git)libfdk-aac (git)needs non-free license if not LGPLlibmp3lame (mingw-w64)libopus (mingw-w64)libvorbis (mingw-w64)libvpx (git)libx264 (git)libx265 (git)nvdec (built-in)nvenc (built-in)schannel with gmp (mingw-w64)enabled by default if openssl, libtls, mbedtls or gnutls aren't enabledgmp can be switched by gcrypt (mingw-w64) with --enable-gcryptsdl2 (git tag) (needed for ffplay)enabled by default, use --disable-sdl2 if unneededZeranoe-emulating build (in addition to Light)avisynthplus (needs avisynth dll installed)fontconfig (latest release)only one of these TLS libs (including schannel) can be enabled at once:openssl (mingw-w64)preferred to gnutls and to libtls if all three are in optionsneeds non-GPL licenselibtls (from libressl) (latest release)needs non-GPL licensembedtls (mingw-w64)preferred to gnutls if GPLv3 license is chosengnutls (3.8.9)libass (git)by default with DirectWrite backendif --enable-fontconfig, fontconfig backend includedwith harfbuzz (git)libbluray (git)BD-J support requires installation of Java JDKBD-J support after compilation probably only requires JRE (untested)libfreetype (latest release)libgsm (mingw-w64)libmfx (git)libmodplug (mingw-w64)libopencore-amr(nb/wb) (mingw-w64)libopenjpeg2 (mingw-w64)libopenmpt (git tag)librav1e (git)libsnappy (mingw-w64)libsoxr (git)libspeex (mingw-w64)libsrt (git)libsvtav1 (git)libtheora (mingw-w64)libtwolame (mingw-w64)libvidstab (git)libvmaf (git)libvo-amrwbenc (0.1.3)libwebp (git)libxml2 (mingw-w64)libxvid (git)libzimg (git)Full build (in addition to Zeranoe)chromaprint (mingw-w64)cuda filters (needs CUDA SDK installed)needs non-free licensedecklink (12.5.1)needs non-free licensefrei0r (git)ladspa (mingw-w64)libaribb24 (git)libbs2b (3.1.0)libcaca (mingw-w64)libcdio (mingw-w64)libcodec2 (git)libdavs2 (git)libflite (git)libfribidi (git)libglslang (git)libgme (0.6.3)libilbc (git)libjxl (git)libkvazaar (git)libmysofa (git)needed for sofalizer filterlibnpp (needs CUDA SDK installed)needs non-free licenselibopenh264 (official binaries)librist (git)librtmp (git)librubberband (git)libssh (broken)libsvthevc (git) (using non-upstream patch)libsvtvp9 (git) (using non-upstream patch)libtesseract (git)libuavs3d (git)libxavs (git)libxavs2 (git)libzmq (mingw-w64)libzvbi (git)openal (git)opencl (from system)opengl (from system)vapoursynth (R70)vulkan (git)other toolsaom (git)av1an (git)requires an installed or portable copy of 64-bit Python 3.12.x and Vapoursynthbmx (git)curl (git) with WinSSL/LibreSSL/OpenSSL/mbedTLS/GnuTLS backendcyanrip (git)dav1d (git)dssim (git)exhale (git)faac (git)fdk-aac (git)ffmbc (git) (unsupported)flac (git)gifski (git)with optional built-in video support (ffmpeg 6.1)haisrt tools (git)jo (git)jpeg-xl tools (git)jq (git)kvazaar (git)lame (3.100)libaacs (git) (shared)libavif (git) with following encoders/decoders:aom (enc/dec)dav1d (dec only)rav1e (enc only)svt-av1 (enc only)libheif (git) with following encoders/decoders:x265 (enc only)kvazaar (enc only)libde265 (dec only)aom (enc/dec)dav1d (dec only)svt-av1 (enc only)vvenc & vvdecuvg266 (enc only)libjpeg (enc/dec)openh264 (dec only)uncompressedlibbdplus (git) (shared)mediainfo cli (git)mp4box (git)mplayer (svn) (unsupported)mpv (git) including in addition to ffmpeg libs:Base build (ffmpegChoice=2 or 3)ANGLE Headers (git)requires ANGLE shared libraries from somewhere else (i.e. Chrome, Firefox) for gpu-context=angle supportlcms2 (mingw-w64)libass (git)libbluray (git)BD-J support requires installation of Java JDKBD-J support after compilation probably only requires JRE (untested)luajit (git)mujs (git)rubberband (git snapshot)uchardet (mingw-w64)vulkan, shaderc, spirv-cross, libplacebo (git)vapoursynth (R70)Full build (ffmpegChoice=4)dvdnav (git)libarchive (mingw-w64)shared libmpvopenal (git)opus-tools (git)rav1e (git)ripgrep (git)rtmpdump (git)sox (git)speex (git)svt-av1 (git)svt-hevc (git)tesseract (git)uvg266 (git)vlc (git) (broken)vvenc & vvdec (git)vorbis-tools (git)vpx (VP8 and
2025-04-06Recommendations after installing the dependencies. This is not a supported option and has limitations with Cocoa integration.onscripter-ru-osx64h has AVX 2 extensions turned on, make sure to turn them off if your CPU is older than Haswell.For iOS ipa generation use Scripts/ipabuild.tool after compiling the app in Xcode.Cross-compiling for WindowsCross compiling is the easiest way to get Windows binaries.Install the MinGW-W64 dependencies for i686. On macOS this could be done with a MacPorts command:sudo port install i686-w64-mingw32-binutils i686-w64-mingw32-crt i686-w64-mingw32-gcc i686-w64-mingw32-headersRun the necessary commands:cd /path/to/onscripterexport CC=i686-w64-mingw32-gccexport CXX=i686-w64-mingw32-g++export LD=i686-w64-mingw32-ldexport AR=i686-w64-mingw32-arexport RANLIB=i686-w64-mingw32-ranlibexport AS=i686-w64-mingw32-aschmod a+x configure./configure --cross=i686-w64-mingw32makeHost-compiling WindowsWindows compilation is normally the most difficult one due to Linux build tools ported not ideally to a Microsoft system.You will need these tools:MSYS2 (pick an installer file according to your system architecture)CLion or CodeLite for a more convenient debugging interface (optional)Install MSYS2 to C:\msys64 (installing to other locations and using CLion require one to change MSYS_PATH in CMakeLists.txt).Update MSYS2 core (always use mingw32.exe):Close MSYS2 at that point and run the following command after reopening it:Repeat the previous action until you are fully updated.Install the required packages via pacman:pacman -S base-devel git mercurial subversion unzip yasm mingw-w64-i686-toolchain mingw-w64-i686-cmake pythonOptionally install these packages:pacman -S mingw-w64-i686-codelite-git mingw-w64-i686-gcc-debug mingw-w64-i686-clangProceed using the generic method of compilation at the beginning of these instructions. Provide --prefer-clang configure argument if using Clang.NOTES:GDB may find no source in your executable, make DEBUG=1 is needed to build a debug binary.If you need to build a shared SDL2 library, after you change --disable-shared to --disable-static you may get an error on compilation step with SDL_window_main.o not found. To fix that you are in need to go to SDL2 sources and copy the contents of build/.libs to build (perhaps one more time after next step). Then manually run make and make install. To mark the package as built run touch onscrlib/onscrlib/.pkgs/SDL2.Latest gdb versions from MSYS2 distribution do not always work properly in Codelite. A slightly older mingw build may be more stable (try gdb2014-05-23.zip).You may run into issues if you forget to start MSYS2 via mingw32.exe.You must remember that MSYS2 uses linux-style slashes for paths. This means a path C:\Directory\AnotherDir should be written as /c/Directory/AnotherDir in MSYS2.First compilation must be performed outside of CLion due to several incompatibilities.Using make -j4 or similar is prohibited for the first compilation and is not recommended when building with gcc due to MinGW issues.Using CLion:As an alternative to Codelite you may use CLion
2025-04-24Skip to content Navigation Menu GitHub Copilot Write better code with AI Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Learning Pathways Events & Webinars Ebooks & Whitepapers Customer Stories Partners Executive Insights GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Enterprise platform AI-powered developer platform Pricing Provide feedback Saved searches Use saved searches to filter your results more quickly /;ref_cta:Sign up;ref_loc:header logged out"}"> Sign up Notifications You must be signed in to change notification settings Fork 25 Star 205 Code Issues 21 Pull requests 1 Actions Projects Security Insights Open-StreamOpen source low latency stream solution.Open Stream is a fork open Sunshine Server. Creating open source solution for Gaming and Desktop Management.Project structureroot folder: contains the GUI application.openstreamhost folder: contains the streaming host application. Includes git submodules.BuildingWindows build requirementsWindows 10 64 bits.Msys2 development platform. mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-boostQt SDK for Msys2Qt packagesBuild the project using QtCreator:Open the project using the CMake support and selecting the CMakeList file in root folder.Select building kit MinGW-w64 64bit (MSYS2)Build the application to produce the executable files. These executable files will be required for packaging a new release installer. Go to installer folder to find the installer building instructions.
2025-04-11Compiling for WindowsCompiling for Windows is supported using GNU-like compilers (GCC/Clang). Clangis compatible with both the w64-windows-gnu MinGW-w64and pc-windows-msvc Windows SDKtargets. It supports the production of both 32-bit and 64-bit binaries and issuitable for building on Windows as well as cross-compiling from Linux and Cygwin.Although it is possible to build a complete MinGW-w64 toolchain yourself, thereare build environments and scripts available to simplify the process, such asMSYS2 on Windows or a packaged toolchain provided by your favorite Linuxdistribution. Note that MinGW-w64 environments included in Linux distributionscan vary in versions. As a general guideline, mpv only supports the MinGW-w64toolchain version included in the latest Ubuntu LTS release.mpv employs Meson for building, and the process is the same as any standard Mesoncompilation.For the most up-to-date reference on build scripts, you can refer tobuild.yml,which builds and tests all supported configurations: MinGW-w64, Windows SDK,and MSYS2 builds.Cross-compilationWhen cross-compiling, it is recommended to use a Meson --cross-file to set up thecross-compiling environment. For a basic example, please refer toCross-compilation.Alternatively, consider using mpv-winbuild-cmake,which bootstraps a MinGW-w64 toolchain and builds mpv along with its dependencies.Example with MesonCreate cross-file.txt with definitions for your toolchain and target platform.Refer to x86_64-w64-mingw32.txtas a directly usable example.Important: Beware of pkg-config usage. By default, it uses build machinefiles for dependency detection, even when --cross-file is used. It mustbe configured correctly. Refer to pkg_config_libdir and sys_rootin the documentationfor proper setup. In this example pkg-config is not used/required.Initialize subprojects. This step is optional; other methods are alsoavailable to provide the necessary dependencies. subprojects/libplacebo.wrap[wrap-git]url = = masterdepth = 1clone-recursive = trueEOFcat subprojects/libass.wrap[wrap-git]revision = masterurl = = 1EOF# For FFmpeg, use Meson's build system port; alternatively, you can compile# the upstream version yourself. See subprojects/ffmpeg.wrap[wrap-git]url = = meson-7.1depth = 1[provide]libavcodec = libavcodec_deplibavdevice = libavdevice_deplibavfilter = libavfilter_deplibavformat = libavformat_deplibavutil = libavutil_deplibswresample = libswresample_deplibswscale = libswscale_depEOF"># Update the subprojects database from Meson's WrapDB.meson wrap update-db# Explicitly download wraps as nested projects may have older versions of them.meson wrap install expatmeson wrap install harfbuzzmeson wrap install libpngmeson wrap install zlib# Add wraps for mpv's required dependenciesmkdir -p subprojectscat EOF > subprojects/libplacebo.wrap[wrap-git]url = = masterdepth = 1clone-recursive = trueEOFcat EOF > subprojects/libass.wrap[wrap-git]revision = masterurl = = 1EOF# For FFmpeg, use Meson's build system port; alternatively, you can compile# the upstream version yourself. See EOF > subprojects/ffmpeg.wrap[wrap-git]url = = meson-7.1depth = 1[provide]libavcodec = libavcodec_deplibavdevice = libavdevice_deplibavfilter = libavfilter_deplibavformat = libavformat_deplibavutil = libavutil_deplibswresample = libswresample_deplibswscale = libswscale_depEOFBuildmeson setup -Ddefault_library=static -Dprefer_static=true \ -Dc_link_args='-static' -Dcpp_link_args='-static' \
2025-03-26Vs-wsl-fortranA Fortran example project using Visual Studio and Windows Subsystem for Linux (WSL).Getting startedRequirementsVisual Studio 2019Windows Subsystem for Linux (WSL)Note: This was tested on a system with Windows 10 2004, Visual Studio 16.6 and WSL 2.Prepare the WSLDownload and install a Linux distribution for WSL.This example was tested with Debian Buster, but other distributions should work just as well.Install the packages needed for your WSL installation to work with Visual Studio:sudo apt install g++ gdb make ninja-build rsync zipFor more detailed instructions see theLinux development with C++ documentation.In addition we need to install the gfortran compiler:sudo apt install gfortranBuild the projectStart Visual Studio and open the vs-wsl-fortran folder.Select the WSL-GCC-Debug target, then build it.Run the Linux executable inside Visual StudioSelect vs-wsl-fortran (src\vs-wsl-fortran) as the startup item and start it (F5).To see the output you might need to open the Linux Console Window view.Cross-compile a Windows executableThe mingw compiler can be used to create Windows binaries.Install an appropriate mingw package in the WSL installation, for example:sudo aptitude install gfortran-mingw-w64-x86-64Build the project for WindowsIn Visual Studio select the WSL-MINGW-Release target and build it.After building the executable you still need to copy some DLLs into that folder.In the case of Debian these DLLs are provided by the mingw package:/out/build/WSL-MINGW-Release/srccp /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/*.dll .">cd vs-wsl-fortran_folder>/out/build/WSL-MINGW-Release/srccp /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/*.dll .Now you can run the executable in a Windows PowerShell or CMD:NotesCMakeSettings.jsonNinja is not yet supported for Fortran, so generator has to be set to "Unix Makefiles" instead.When cross compiling the compiler has to be specified with "-DCMAKE_Fortran_COMPILER=/usr/bin/x86_64-w64-mingw32-gfortran" in the CMake Command Arguments.This is not necessary when targeting Linux, in that case the default gfortran compiler is detected automatically.Fortran syntax highlighting in Visual StudioBy default Visual Studio does not provide any syntax highlighting for Fortran code,but it can be added as described here.First create the following folder:%userprofile%\.vs\Extensions\Syntaxes\Then download an appropriate
2025-04-08