The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content
Insights Hub and Industrial IoT

Insights Hub drives smart manufacturing through the industrial Internet of Things. Gain actionable insights with asset and operational data and improve your processes.

MindConnect Library – Getting started for Windows¶

Tools¶

Tools used for this guide are:

  • Visual Studio 2019 IDE with Desktop Development with C++ toolset
  • CMake 3.16.0
  • Strawberry Perl (Perl v5.30.0)

Before Building MindConnect Library¶

MCL depends on LibCurl as an HTTP client and it depends on OpenSSL as the crypto library. LibCurl depends on OpenSSL as the TLS library. Therefore, before building MCL, developers must make sure that OpenSSL and LibCurl are installed successfully, otherwise MCL build process will not start.

Downloads¶

Download the source code :

  1. Download OpenSSL 1.1.1d from https://www.openssl.org/ and extract it. The extracted OpenSSL folder will be referenced as {OPENSSL_DIR} throughout this page.
  2. Download LibCurl 7.68.0 zip file from https://curl.haxx.se/ and extract it. The extracted LibCurl folder will be referenced as {LIBCURL_DIR} throughout this page.
  3. Download MindConnect Library 3.1.5.0 zip file from SIOS (Siemens Online Industry Support) page and extract it. The extracted folder will be referenced as {MCL_DIR} throughout this page.

Command Prompt¶

Open x64 Native Tools Command Prompt for VS 2019. You can find it in Start Menu, under Visual Studio 2019 folder. This will set your environment to use tools included in Visual Studio.

In x64 Native Tools Command Prompt, set variables for the paths of downloaded and extracted source code.

  set OPENSSL_DIR={OPENSSL_DIR}
  set LUBCURL_DIR={LIBCURL_DIR}
  set MCL_DIR={MCL_DIR}

Building OpenSSL¶

In x64 Native Tools Command Prompt, build OpenSSL by running the following commands:

  cd %OPENSSL_DIR%
  mkdir build
  perl Configure VC-WIN64A --openssldir=%OPENSSL_DIR%\build no-asm
  ms\do_win64a
  nmake -f ms\ntdll.mak install

You will see the build artifacts in {OPENSSL_DIR}\build directory.

Building LibCurl¶

In x64 Native Tools Command Prompt, build LibCurl by running the following commands:

  cd %LIBCURL_DIR%\winbuild
  nmake /f Makefile.vc mode=dll VC=15 WITH_SSL=dll MACHINE=x64 SSL_PATH=%OPENSSL_DIR%\build

You will see the build artifacts in {LIBCURL_DIR}\builds\libcurl-vc15-x64-release-dll-ssl-dll-ipv6-sspi directory.

Building MindConnect Library¶

In x64 Native Tools Command Prompt, build MCL by running the following commands:

  cd %MCL_DIR%
  mkdir build
  cd build
  cmake -G"Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=%OPENSSL_DIR%\build;%LIBCURL_DIR%\builds\libcurl-vc15-x64-release-dll-ssl-dll-ipv6-sspi -DMCL_CREATE_DOXYGEN=OFF -DMCL_TESTING=OFF -DMCL_LOG_UTIL_LEVEL=255 %MCL_DIR%
  cmake --build . --clean-first --target mc

You will see the build artifacts in {MCL_DIR}\build\build\Release directory.

Custom Agent Application¶

When building your agent application, headers for MCL will be in {MCL_DIR}\include directory and binaries mc.lib and mc.dll will be in {MCL_DIR}\build\build\Release directory.

You will also need to link libcurl.dll located in {LIBCURL_DIR}\builds\libcurl-vc15-x64-release-dll-ssl-dll-ipv6-sspi\bin directory and libeay32.dll and ssleay32.dll located in {OPENSSL_DIR}\build\bin directory.