subatomicglue / cross-compile-macosx-clang-windows-msvc

Here is an example HOWTO to cross compile C/C++ from MacOSX terminal to Windows compatible binaries, using Clang.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cross-Compile C/C++ Windows and RaspberryPI binaries from MacOSX bash terminal

(Update: RaspberryPI cross compile for cmake has also been added, see source code)

Here is an example Makefile, as well as example cmake platform & toolchains, to cross-compile C/C++ Windows binaries from MacOSX bash terminal, using llvm's clang/lld.

Included are both 32 and 64bit examples for:

  • .exe
  • .lib (static linked)
  • .dll (dynamic linked)
  • .dll (dynamic loaded - plugin)

Prerequisites:

  • MacOSX High Sierra (or similar)
  • MacOSX terminal
  • Windows10 installed under Parallels
    • Windows C:\ mounted under MacOSX /Volumes/[C] Windows 10/. This is how clang will find the MSVC compiler lib/ & include/ directories.
  • Microsoft Visual Studio 2015 w/ windows sdk (for includes and libs)
  • brew install llvm (clang compiler version 6.0.0, or similar)
    • clang/clang++
    • lld
  • brew install cmake (cmake version 3.10.3, or similar)
  • Optional: Parallels 13 (or similar) - virtualization host running Windows 10

Makefile example:

A simple example illustrating how to cross-compile C/C++ Windows binaries from a system such as MacOSX, using the LLVM clang compiler.

CMake example:

A more advanced example, with reusable cmake toolchain for cross-compiling C/C++ Windows (and RaspberryPI) binaries under MacOSX, using the LLVM clang compiler.

About

Here is an example HOWTO to cross compile C/C++ from MacOSX terminal to Windows compatible binaries, using Clang.


Languages

Language:CMake 65.8%Language:Makefile 17.6%Language:Shell 8.2%Language:C++ 4.3%Language:Batchfile 4.0%Language:C 0.2%