Windows Enviorment

Setting up your development enviorment for the Windows OS is used to build LinQ Networking Applications that run on Windows 10 operating system. The Windows Development enviorment does not support running the test framework and is only supported for application development. The Windows Development enviorment may be used to build embedded linux distributions but this is not supported. For Embedded Linux target installations, please refer to setting up your Linux host machine.

Required Packages

The following packages are required to get your Windows OS up and running.

If you find any packages are missing please add them to the list by submitting a PR
  1. Git

    Note

    Config your git to play nice with others

    git config --global core.eol lf
    git config --global core.filemode false
    

    Warning

    Git For Windows does not bundle a proper version of perl that supports Windows and does not support Windows file path syntax correctly. See reference to issue here

    As a workaround - you should pass a proper perl binary when compiling LinQ Network with OPENSSL ssl backend. IE:

    cmake -DPERL_EXECUTABLE=/c/Strawberry/perl/bin/perl.exe -DBUILD_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=./install
    
  2. Microsoft Visual Studio 2019 (Community Edition)

  3. LLVM

  4. CMake

  5. Docker Community (Recommended for development using hardware containers)

    Note

    Configure your docker to run Linux Containers per the Windows Docker documentation

    Warning

    If docker does not support your Windows Installation well, try and use Docker Toolbox

  6. Rust (Recommended for building command line utilities and Rust bindings)

  7. NodeJS + NPM (Recommended for building the NodeJS bindings)

  8. Go (Recommended for building the Go bindings)

  9. Python (Recommended for building the Python bindings)

  10. Openssl (Recommended for building HTTP server with OpenSSL as TLS backend)

Installation

The following terminal commands show how to build and install the linq-network library to the linq-network/build-windows/install directory.

git clone https://bitbucket.org/Altronix/linq-network
cd linq-network
git submodule update --init
mkdir build-windows
cd build-windows
cmake -DCMAKE_ISNTALL_PREFIX=./build-windows/install ..
cmake --build ./build-windows --target install --config MinSizeRel

Warning

Windows does not support the CMAKE_BUILD_TYPE flag during configuration step. To configure the BUILD_TYPE use the –config switch during the compilation step.

Note

For a list of configuration options, use cmake -LH command. See a description of the configuration parameters here: Library Configuration Options