개발 환경 구성

1. Open62541 빌드

OPCUA를 개발할 때 오픈 소스 라이브러리 Open62541을 사용합니다.

media/image1

Code – HTTPS url을 복사합니다.

media/image3

원하는 폴더에 Clone합니다.

media/image4

Open a local folder를 클릭합니다.

media/image5

받은 폴더를 선택하여 오픈합니다.

media/image6

만약 위와 같은 Folder View가 잘 보인다면,

Project-CMake Setting for open62541을 클릭합니다.

만약 CMake Setting for open62541이 보이지 않는다면 Python 3.x 가 설치되지 않았기 때문입니다.

아래 Python 3.x 이상 설치 부분을 참고하여 설치하고 프로젝트를 종료 후 다시 오픈하세요.

media/image7

Show advanced settings를 클릭합니다.

media/image8

CMake Generator를 프로젝트에 맞게 변경해줍니다.

일반적인 Visual Studio 17 2002 Win64를 선택하겠습니다.

media/image9

해당 부분에서는 빌드 후 만들어지는 open62541 파일의 옵션을 선택할 수 있습니다.

media/image10

만약 위와 같이 표시가 잘 되지 않으면,

media/image11

버튼을 한번 누르고, 다시 돌아가세요.

media/image12

위 옵션(UA_ENABLE_AMALGAMATION)은 빌드를 할 때

.c 파일과 .h 파일이 하나로 합쳐서 생성되어 나오는 옵션입니다.

media/image13

Save to Json 부분을 더블 클릭하여 선택합니다.

media/image14

Value 부분을 더블 클릭하여 선택합니다.

media/image15

위 옵션(UA_ENABLE_ENCRYPTION)은 서명/암호화 기능을 사용하기 위해서 필요한 옵션입니다.

media/image16

Save to Json 부분을 더블 클릭하여 선택합니다.

media/image17

Value 부분을 OPENSSL로 변경합니다. (SSL 라이브러리가 설치되어 있어야 합니다.)

아래 OPENSSL 라이브러리 설치 부분을 참고하세요

media/image11

버튼을 클릭하세요.

media/image18

"cmakeToolchain": "C:/vcpkg/scripts/buildsystems/vcpkg.cmake", 를 추가합니다.

(vcpkg.cmake 경로를 추가하면됩니다.)

다른 옵션의 설명도 궁금하다면 아래 링크 문서 설명을 참고하세요.

만약 위와 같은 에러가 발생했다면 MSVC v143가 제대로 잡히지 않아서 그렇습니다.

Visual studio 2022를 사용하는 것을 권장합니다.

더 정확히는 아래 링크를 참고하세요.

만약 위와 같은 에러가 발생했다면,

기존 설정과 충돌이 생겨 에러가 발생할 수도 있습니다.

media/image21

Project – Delete Cache and Reconfigure 버튼을 클릭하세요.

media/image22

설정이 완료되었으면 Build All 버튼을 눌러 빌드합니다.

media/image23

빌드가 완료된 파일은 out-build-구성환경설정이름 위치에 빌드가 됩니다.

아까 이런 옵션을 체크했던 것을 기억할 것입니다.

media/image24

그 결과물로 아래와 같은 .c 파일과 .h 파일이 빌드 폴더에 생성된 것입니다.

media/image25

해당 파일을 사용하여 코드를 작성하면 됩니다.

media/image_update_1

빌드 과정중 위와 같은 에러가 발생하면 vcpkg의 경로를 제대로 잡지 못해서 그렇습니다.

media/image_update_2

C:\vcpkg\vcpkg integrate install 를 powershell에 입력하여 vcpgk경로를 잡아줍니다.

media/image_update_3

빌드 과정중 위와 같은 에러가 발생하면 Window Socket을 사용하기 위한 라이브러리를 추가하지 않아서 그렇습니다.

media/image_update_4

#pragma comment(lib, "Ws2_32.lib")

#pragma comment(lib, "Iphlpapi.lib")

위 두 줄을 파일에 복사하여 추가해 주세요.

2. Python 3.x 이상 설치

open62541을 빌드하기 위해 Python 버전 3.x 이상 버전이 필요합니다.

media/image26

https://www.python.org/downloads/ 링크에 접속합니다.

media/image27

Download Python install Manager를 클릭합니다.

media/image28

설치 버튼을 클릭합니다.

3.OPENSSL 라이브러리 설치

PowerShell을 엽니다.

media/image29

git --version 입력합니다.

위와 같이 버전이 나오면 git이 잘 설치된 것입니다.

만약 버전이 아닌 빨간 글씨가 나오면 아래 git 설치를 참고하세요.

만약 기존에 사용하는 vcpkg가 있다면 해당 vcpkg를 사용해도 됩니다.

설명은 C:\ 폴더에 vcpkg를 새로 설치해서 사용한다고 가정합니다.

media/image30

"git clone https://github.com/microsoft/vcpkg.git C:\vcpkg" 입력합니다.

media/image31

"cd C:\vcpkg" 입력합니다.

vcpkg가 있는 폴더로 이동합니다.

media/image32

".\bootstrap-vcpkg.bat" 입력합니다.

vcpkg.exe 파일이 생성됩니다.

media/image33
media/image34

".\vcpkg.exe install openssl:x64-windows" 입력합니다.

OPENSSL을 설치합니다. (5분정도 소요했습니다.)

4.git 설치

media/image35

https://git-scm.com/ 링크에 접속합니다.

media/image36

Install for Windows를 클릭합니다.

media/image37

Click here to download를 클릭합니다.

media/image38

Next를 열심히 눌러 설치를 진행합니다.