윈도는 충분히 유니코드를 지원하나 몇몇 유틸리티는 기본적으로 CP949, MS949, EUC-KR 같은 문자 셋으로 동작한다. 이건 Visual Studio도 마찬가지이다. 리눅스나 macOS와 소스 호환을 위하여 UTF-8을 사용하는 것이 마땅하다. Qt Creator의 Text Editor → Behavior → File Encodings 옵션을 기본인 UTF-8로 사용할 때 fromLocal8Bit() 와 같은 함수를 사용하지 않고 바로 영어 문자처럼 작성하고 컴파일하면 된다. QT버전은 5.12.0이며 이 버전부터는 MinGW 64bit가 기본이다. 설치할 때 MinGW, MSVC를 선택하였다. 아래의 3가지 정도의 방법으로 한글 처리를 하는 것을 추천한다.
QT, Windows, C++ 환경에서 AES 256 암호화를 위한 Botan Library 설치. 테스트 환경은 Visual Studio 2017, MingGW64에서 진행하였다. 참고 사이트는 Source Download and Building The Library 이다. 예제는 GitHub (botanExam.cpp)
$> python configure.py --cc=msvc --os=windows [--debug-mode]
$> nmake
사용 : build/include/*.h, botan.lib, botan.dll
$> python configure.py --cc=gcc --os=mingw --without-stack-protector
$> mingw32-make.exe
사용 : build/include/*.h, libbotan-2.a
macOS 10.14에서 pecl install oci8 형태로 oracle 확장을 설치하면 php 7.3 버전에서는 컴파일 에러가 발생한다. 이 경우 php 최신 소스를 다운로드 받아 빌드 후 설치한다.
$> cd ext/oci8
$> phpize
$> ./configure --with-oci8=instantclient,/디렉터리/instantclient_12_2
$> make
$> cd ext/pdo-oci
$> phpize
$> ./configure --with-pdo-oci=instantclient,/디렉터리/instantclient_12_2
$> make
# https://github.com/Microsoft/msphpsql/releases
$> vi /usr/local/etc/php/7.3/php.ini
extension=/usr/local/lib/php/oci8.so
extension=/usr/local/lib/php/pdo_oci.so
extension=/usr/local/lib/php/php_sqlsrv_73_nts.so
extension=/usr/local/lib/php/php_pdo_sqlsrv_73_nts.so