Поскольку проект open62541 был обновлен, я предлагаю вам непосредственно взять текущее состояние источников.Таким образом, вы сможете лучше использовать примеры, которые они предоставляют.Вот руководство по созданию проекта.Может быть, это может быть проще, но я столкнулся с довольно большим количеством проблем, поэтому я дам вам все шаги, которые я сделал.
ПОДГОТОВКА ОКРУЖАЮЩЕЙ СРЕДЫ
- Установка cmake (с PATHобновление)
https://cmake.org/download/
Установить последнюю версию python (с обновлением PATH)
https://www.python.org/downloads/
Повторно откройте сеанс, чтобы учесть новые переменные PATH
Установить модуль Python "six"
pip install six
BUILDING MBEDTLS
- Скачать исходные коды библиотеки (лицензия apache)
https://tls.mbed.org/download
Запустите cmake в источниках
cmake . -DUSE_SHARED_MBEDTLS_LIBRARY=ON -D CMAKE_BUILD_TYPE=Release
Откройте «mbed TLS.sln» в Visual Studio (я использую Community 2015) и сгенерируйте все в режиме «Release»
Скопируйте следующие файлы
- библиотеки .lib из «библиотеки \ выпуска» в «путь \ к \ OpcUa_lib»
- двоичные файлы .dll из «библиотеки \ выпуска» в «путь \ к \ OpcUa_bin»
- папка "mbedtls" в "include" в "Path \ To \ OpcUa_include"
BUILDING OPEN62541
- Клонировать репозиторий open62541 вполучить исходные коды (с помощью рабочего стола или командной строки GitHub)
https://github.com/open62541/open62541
Создать папку "build" в исходниках (например, C: \ Users \ Davy \ Documents \ GitHub \ open62541 \ build)
Открыть терминал впапка "build" и запустите cmake (сначала перейдите \ path \ To ...)
cmake .. -G "Visual Studio 14 2015" -DUA_ENABLE_ENCRYPTION=ON -DUA_ENABLE_AMALGAMATION=ON -DMBEDTLS_INCLUDE_DIRS="Path\To\OpcUa_include" -DMBEDTLS_LIBRARY="Path\To\OpcUa_lib" -DMBEDX509_LIBRARY="Path\To\OpcUa_lib" -DMBEDCRYPTO_LIBRARY="Path\To\OpcUa_lib" -DBUILD_SHARED_LIBS=ON -D CMAKE_BUILD_TYPE=Release -DUA_LOGLEVEL=100
Откройте решение "build \ open62541.sln" в Visual Studio (Community 2015) и добавьте "mbedcrypto.lib", "mbedtls.lib" и "mbedx509.lib" в качестве ресурсов для компоновщика в проекте.«open62541 / lib / open62541»
- щелкните правой кнопкой мыши «open62541 / lib / open62541», выберите «properties»
- , перейдите в «Linker» => «General»
- добавить «Path \ To \ OpcUa_lib» в качестве дополнительного каталога для зависимостей
- перейти к «Linker» => «Entry»
- добавить три строки с «mbedcrypto.lib», "mbedtls.lib "и" mbedx509.lib "в" Дополнительные зависимости "
Создать" open62541 / lib / open62541 "в режиме" Release "
Теперь вы можете использовать следующие файлы
- библиотека "build \ bin \ Release \ open62541.lib"
- двоичный файл "build \ bin \ Release \ open62541.dll "
- файл" build \ open62541.h "
ИНТЕГРАЦИЯ В ДРУГОЙ ПРОЕКТ *
Вам нужно будет сослаться на объединенное объединение.h ofopen62541 и добавьте эти зависимости в компоновщик: open62541.lib, mbedcrypto.lib, mbedtls.lib, mbedx509.lib, Ws2_32.lib.Мне также пришлось указать платформу Visual Studio 2013 (v120) в свойствах проекта.