Windows下编译UTF8-CPP
本文记录在Windows下编译UTF8-CPP的流程。
零、环境
操作系统 | Windows 11 |
VS Code | 1.92.1 |
Git | 2.34.1 |
MSYS2 | msys2-x86_64-20240507 |
Visual Studio | Visual Studio Community 2022 |
CMake | 3.22.1 |
一、编译
1.1 下载
git clone https://github.com/nemtrif/utfcpp.git
1.2 构建
1.3 编译
二、使用UTF8-CPP
附录Ⅰ: CMakeUserPresets.json
{"version": 9,"cmakeMinimumRequired": {"major": 3,"minor": 20,"patch": 0},"configurePresets": [{"name": "default","hidden": true,"displayName": "Default Config","description": "Default build configuration","binaryDir": "${sourceDir}/out/build/${presetName}","cacheVariables": {"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}","CMAKE_BUILD_TYPE": "Debug"}},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","description": "This build is using Visual Studio 17 2022 generator","generator": "Visual Studio 17 2022","toolset": "host=x64","architecture": "x64","cacheVariables": {"UTF8CPP_ENABLE_TESTS": false},"environment": {"VCPKG_ROOT": "D:/vcpkg","HTTP_PROXY": "http://192.168.1.106:7890","HTTPS_PROXY": "http://192.168.1.106:7890","VCPKG_DEFAULT_BINARY_CACHE": "$env{VCPKG_ROOT}/binary-cache","VCPKG_BINARY_SOURCES": "clear;files,$env{VCPKG_ROOT}/binary-cache,readwrite","X_VCPKG_ASSET_SOURCES": "clear;x-azurl,file://$env{VCPKG_ROOT}/asset-cache,,readwrite"},"condition": {"type": "equals","lhs": "${hostSystemName}","rhs": "Windows"}},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","description": "This build is using MinGW generator","generator": "MinGW Makefiles","cacheVariables": {"UTF8CPP_ENABLE_TESTS": false },"environment": {}},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwin64","description": "This build is using Unix Makefiles generator","generator": "Unix Makefiles","cacheVariables": {"UTF8CPP_ENABLE_TESTS": false },"environment": {}},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","description": "Default build using Unix Makefiles generator","generator": "Unix Makefiles","cacheVariables": {"CMAKE_C_COMPILER": "/usr/bin/gcc","CMAKE_CXX_COMPILER": "/usr/bin/g++","CMAKE_MAKE_PROGRAM": "/usr/bin/make","CMAKE_PREFIX_PATH": "${sourceParentDir}/3rdparty/install/intel-opt-zmo","CMAKE_BUILD_TYPE": "Debug","UTF8CPP_ENABLE_TESTS": false},"environment": {"VCPKG_ROOT": "$env{HOME}/vcpkg","HTTP_PROXY": "http://192.168.1.106:7890","HTTPS_PROXY": "http://192.168.1.106:7890","VCPKG_DEFAULT_BINARY_CACHE": "$env{VCPKG_ROOT}/binary-cache","VCPKG_BINARY_SOURCES": "clear;files,$env{VCPKG_ROOT}/binary-cache,readwrite","X_VCPKG_ASSET_SOURCES": "clear;x-azurl,file://$env{VCPKG_ROOT}/asset-cache,,readwrite"}}],"buildPresets": [{"name": "default","configurePreset": "default"},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwinw64","configurePreset": "cygwin64"},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc"}],"testPresets": [{"name": "default","configurePreset": "default","output": {"outputOnFailure": true},"execution": {"noTestsAction": "error","stopOnFailure": true}}, {"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwin64","configurePreset": "cygwin64"},{"name": "linux_gcc","displayName": "Linux GCC","configurePreset": "linux_gcc"}],"packagePresets": [{"name": "default","configurePreset": "default","generators": ["TGZ"]},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022","generators": ["TGZ"]},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64","generators": ["TGZ"]},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc","generators": ["RPM"]}],"workflowPresets": [{"name": "default","steps": [{"type": "configure","name": "default"},{"type": "build","name": "default"},{"type": "test","name": "default"},{"type": "package","name": "default"}]},{"name": "vs2022","displayName": "Visual Studio 17 2022","steps": [{"type": "configure","name": "vs2022"},{"type": "build","name": "vs2022"},{"type": "test","name": "vs2022"},{"type": "package","name": "vs2022"}]},{"name": "mingw64","displayName": "MinGW-w64","steps": [{"type": "configure","name": "mingw64"},{"type": "build","name": "mingw64"},{"type": "test","name": "mingw64"},{"type": "package","name": "mingw64"}]},{"name": "linux_gcc","displayName": "Linux GCC","steps": [{"type": "configure","name": "linux_gcc"},{"type": "build","name": "linux_gcc"},{"type": "test","name": "linux_gcc"},{"type": "package","name": "linux_gcc"}]}]
}