本文记录在Windows下编译Qwt的流程。
零、环境
一、依赖
二、编译
2.1 代码下载
bash
git clone https://github.com/czyt1988/QWT.git
cd ./QWT/
git checkout v7.3.2
2.2 构建
新建CMakeUserPresets.json,增加以下内容,
{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 28,
"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": true,
"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": {
},
"environment": {
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "vs2022-Debug",
"hidden": false,
"inherits": "vs2022",
"displayName": "Visual Studio 17 2022 Debug",
"description": "This build is using Visual Studio 17 2022 generator in Debug mode",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "vs2022-Release",
"hidden": false,
"inherits": "vs2022",
"displayName": "Visual Studio 17 2022 Release",
"description": "This build is using Visual Studio 17 2022 generator in Release mode",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
}
],
"buildPresets": [
{
"name": "vs2022-Debug",
"configurePreset": "vs2022-Debug",
"configuration": "Debug",
"jobs": 1,
"nativeToolOptions": [
"/p:CL_MPCount=1"
]
},
{
"name": "vs2022-Release",
"configurePreset": "vs2022-Release",
"configuration": "Release",
"jobs": 1,
"nativeToolOptions": [
"/p:CL_MPCount=1"
]
}
],
"testPresets": [
{
"name": "vs2022-Debug",
"configurePreset": "vs2022-Debug",
"configuration": "Debug"
},
{
"name": "vs2022-Release",
"configurePreset": "vs2022-Release",
"configuration": "Release"
}
]
}
网络
QCustomPlot
Qwt
kplotting