krita windows编译源码

2023-10-31

Qt系列文章目录

前言

最近使用Qt处理图像,要实现一些Photoshop的功能,比方说图像拼接,图像绘制。使用QGraphicsItem、QGraphicsView、QGraphicsScene只能处理图像的翻转、透明等

一、krita

Krita是一个专业的免费和开源的绘画程序。它是由艺术家制作的,他们希望看到每个人都能负担得起的艺术工具。 概念艺术 纹理和哑光画家 插图和漫画。Krita(/栅格图形编辑器ːtə/ KREE-tə)[6]是一款免费的开源栅格图形编辑器,主要用于数字艺术和2D动画。该软件可在Windows, macOS, Linux, Android和ChromeOS上运行,并具有opengl加速画布,色彩管理支持,高级画笔引擎,非破坏性图层和蒙版,基于组的图层管理,矢量艺术品支持和可切换的自定义配置文件。

二、krita源码编译

1. Windows下编译

krita官网
在这里插入图片描述

1.编译准备

1.Git - https://git-scm.com/downloads
2.CMake 3.16.0 or later, the latest is usually fine - https://cmake.org/download/
3.Ninja build system - https://github.com/ninja-build/ninja/releases
4.LLVM MinGW compiler toolchain
LLVM MinGW compiler toolchain下载地址: https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip
5.下载Python 3.10 (not 3.7, not 3.8, not 3.9, not 3.11) - https://www.python.org.
6.Install the Windows 10 SDK - https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
7.Qt Creator下载地址 - https://download.qt.io/official_releases/qtcreator/
8.相关的依赖包
相关依赖包下载地址:https://binary-factory.kde.org/job/Krita_Nightly_Windows_Dependency_Build/
在这里插入图片描述

2. 相关命令

(1)打开cmd命令行

mkdir C:\krita-dev
cd /d C:\krita-dev

然后准备一个批处理文件来设置环境。阅读此示例并在必要时调整版本号和路径,以便PATH是正确的。
新建文件,后缀名改为.bat,保存路径,C:\krita-dev\env.bat

:: Build/dev tools
set MINGW_BIN_DIR=C:\llvm-mingw\llvm-mingw-20220906-ucrt-x86_64\bin
set CMAKE_BIN_DIR=C:\Program Files\CMake\bin
set NINJA_BIN_DIR=C:\krita-dev\ninja
set PYTHON_BIN_DIR=C:\Python38
set QTCREATOR_DIR=C:\Qt\Tools\QtCreator\bin

set BUILDROOT=C:\krita-dev
set PATH=C:\krita-dev\i\bin;C:\krita-dev\i\lib;%MINGW_BIN_DIR%;%MINGW_BIN_DIR%\..\x86_64-w64-mingw32\bin;%CMAKE_BIN_DIR%;%NINJA_BIN_DIR%;%QTCREATOR_DIR%;%PATH%

注意这些路径改成本机对应路径

cd /d C:\krita-dev
env.bat

(2)下载krita源码命令

cd /d C:\krita-dev
git clone https://invent.kde.org/graphics/krita.git

(3)要获取预构建的依赖项,只需运行嵌入式cmake脚本

cd /d C:\krita-dev
env.bat
mkdir fetch-deps
cmake -S krita\build-tools\ci-deps -B fetch-deps -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=C:/krita-dev/i
cmake --build fetch-deps

(4)我们将使用相同的脚本在Windows上构建所有内容,这些脚本用于进行krita night构建和发布:

cd /d C:\krita-dev
env.bat
krita\build-tools\windows\build.cmd --no-interactive --jobs 8 --skip-krita --download-dir C:\krita-dev\d --deps-build-dir C:\krita-dev\b_deps --deps-install-dir C:\krita-dev\i

这里我们也可以用之前手动下载的Krita_Nightly_Windows_Dependency_Build

(5)同样,在命令行中,使用用于进行夜间构建和发布的相同脚本:

cd /d C:\krita-dev
env.bat
krita\build-tools\windows\build.cmd --no-interactive --jobs 8 --skip-deps --download-dir C:\krita-dev\d --deps-install-dir C:\krita-dev\i --krita-build-dir C:\krita-dev\b_krita --plugins-build-dir C:\krita-dev\b_plugins --krita-install-dir C:\krita-dev\i

(6)如果您正在对Krita进行黑客攻击,您可以在不运行此脚本的情况下重新构建Krita,只需进入build目录并运行

cd b_krita
mingw32-make -j8 install
:: or
ninja install

(7)运行env.bat后,必须从命令提示符启动Krita

cd /d C:\krita-dev
env.bat
i\bin\krita
:: or
i\bin\krita.exe

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用CMake编译krita

cmake -DSOME_CMAKE_VARIABLE=SOME_VALUE E:\krita-dev\krita
E:\work\Krita\krita-deps\deps-install\share\ECM\cmake
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

请注意,这将仅在当前命令提示符会话中设置环境变量。要使其对其他会话和进程可用,请执行以下操作:

右键点击“此电脑”(或“我的电脑”),然后选择“属性”。
在左侧的菜单中,点击“高级系统设置”。
在“系统属性”窗口中,点击“高级”选项卡,然后点击下面的“环境变量”按钮。
在“环境变量”窗口中,点击“新建”按钮(在“用户变量”或“系统变量”下,具体取决于您想要为特定用户还是整个系统设置环境变量)。
在“新建”窗口中,键入变量名 DEPS_INSTALL,然后将变量值设置为 E:\krita-dev\b_deps\deps-install。
点击“确定”以保存更改。

重新编译

在这里插入图片描述

CMake Error at CMakeLists.txt:335 (find_package):
By not providing “FindECM.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “ECM”, but
CMake did not find one.

Could not find a package configuration file provided by “ECM” (requested
version 5.22) with any of the following names:

ECMConfig.cmake
ecm-config.cmake

Add the installation prefix of “ECM” to CMAKE_PREFIX_PATH or set “ECM_DIR”
to a directory containing one of the above files. If “ECM” provides a
separate development package or SDK, be sure it has been installed.
解决:
您需要安装 Extra CMake Modules (ECM)。ECM 包含许多用于构建 KDE 应用程序和库的模块,Krita 需要这些模块才能正确编译。

您可以尝试在 Windows 上使用 MSYS2 或 vcpkg 安装 ECM。下面是使用 MSYS2 安装 ECM 的方法:

如果您尚未安装 MSYS2,请前往 https://www.msys2.org/ 下载并安装它。

打开 MSYS2 MinGW 64-bit 终端。

输入以下命令安装 ECM:
pacman -S mingw-w64-x86_64-extra-cmake-modules
在这里插入图片描述
在这里插入图片描述
输入“y” 回车
在这里插入图片描述
在这里插入图片描述
ECM 的安装路径可能是:/mingw64/share/ECM/cmake/(相对于 MSYS2 安装目录)。将这个路径添加到系统环境变量 CMAKE_PREFIX_PATH。例如,如果您的 MSYS2 安装在 C:\msys64,您需要将 C:\msys64\mingw64\share\ECM\cmake 添加到 CMAKE_PREFIX_PATH。
在这里插入图片描述
2.
CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find KF5 (missing: Config WidgetsAddons Completion CoreAddons
GuiAddons I18n ItemModels ItemViews WindowSystem) (Required is at least
version “5.44.0”)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
C:/msys64/mingw64/share/ECM/find-modules/FindKF5.cmake:93 (find_package_handle_standard_args)
CMakeLists.txt:372 (find_package)

在这里插入图片描述
解决
这个错误是因为 CMake 无法找到 Krita 编译所需的 KDE Frameworks 5 (KF5) 组件。您需要确保已安装了所需的 KF5 组件。

在 Windows 上,您可以使用 MSYS2 或 vcpkg 安装 KF5 组件。以下是使用 MSYS2 安装 KF5 组件的方法:

如果您尚未安装 MSYS2,请前往 https://www.msys2.org/ 下载并安装它。

打开 MSYS2 MinGW 64-bit 终端。

输入以下命令安装 KF5 组件:
pacman -S mingw-w64-x86_64-kf5

在这里插入图片描述
回车
在这里插入图片描述
3.
错误提示显示 CMake 无法找到 ECM(Extra CMake Modules)。您需要安装 ECM 并设置相应的路径。

首先,确保您已经安装了 ECM。在 MSYS2 中,您可以使用以下命令来安装:

sh
Copy code
pacman -S mingw-w64-x86_64-extra-cmake-modules
然后,在 CMakeLists.txt 文件中找到 find_package(ECM) 行。在这一行之前,添加以下行:

cmake
Copy code
set(ECM_DIR “C:/msys64/mingw64/share/ECM/cmake”)
这里假设 MSYS2 安装在 C:/msys64 目录下。如果您的 MSYS2 安装位置不同,请相应地修改路径。
4.
在这里插入图片描述
这个错误提示表明 CMake 无法找到 Gettext。您需要在 MSYS2 中安装 Gettext 并确保其可执行文件在系统的 PATH 中。

首先,在 MSYS2 中安装 Gettext:

sh
Copy code
pacman -S gettext
接下来,您需要确保 Gettext 可执行文件(例如 msgmerge 和 msgfmt)在系统的 PATH 中。请按照以下步骤操作:

打开 Windows 系统的“高级系统设置”。
在“系统属性”窗口的“高级”选项卡中,点击“环境变量”按钮。
在“环境变量”窗口中,找到系统变量部分的“Path”变量,然后点击“编辑”按钮。
在“编辑环境变量”窗口中,点击“新建”按钮,然后输入 Gettext 可执行文件所在的目录。对于 MSYS2 安装,这通常是 C:\msys64\usr\bin。如果您的 MSYS2 安装位置不同,请相应地修改路径。
确认并关闭所有窗口。
4.
在这里插入图片描述
解决
这个错误表明 CMake 找不到 ZLIB 和 PNG 库。您需要在 MSYS2 中安装这两个库,并确保它们的头文件和库文件都在系统的 INCLUDE 和 LIB 环境变量中。

首先,在 MSYS2 中安装 ZLIB 和 PNG:

sh
Copy code
pacman -S zlib mingw-w64-x86_64-libpng
接下来,您需要确保这些库的头文件和库文件都在系统的 INCLUDE 和 LIB 环境变量中。请按照以下步骤操作:

打开 Windows 系统的“高级系统设置”。
在“系统属性”窗口的“高级”选项卡中,点击“环境变量”按钮。
在“环境变量”窗口中,找到系统变量部分的“INCLUDE”变量,然后点击“编辑”按钮。
在“编辑环境变量”窗口中,点击“新建”按钮,然后输入 ZLIB 和 PNG 头文件所在的目录。对于 MSYS2 安装,这通常是 C:\msys64\mingw64\include。如果您的 MSYS2 安装位置不同,请相应地修改路径。
同样地,找到系统变量部分的“LIB”变量,点击“编辑”按钮,然后添加 ZLIB 和 PNG 库文件所在的目录。对于 MSYS2 安装,这通常是 C:\msys64\mingw64\lib。如果您的 MSYS2 安装位置不同,请相应地修改路径。
确认并关闭所有窗口。
现在,重新运行 CMake。这应该解决找不到 ZLIB 和 PNG 库的问题。

好的,看起来 ZLIB 和 PNG 库仍然无法被 CMake 正确识别。让我们尝试通过在 CMake 命令中显式指定所需的库路径来解决这个问题。

在运行 CMake 命令的终端中,运行 CMake 之前,用以下命令设置环境变量:

sh
Copy code
set INCLUDE=C:\msys64\mingw64\include;%INCLUDE%
set LIB=C:\msys64\mingw64\lib;%LIB%
这些命令会将所需的包含路径和库路径临时添加到 INCLUDE 和 LIB 环境变量中,仅针对当前会话。如果你的 MSYS2 安装位置不同,请确保调整路径。

现在,再次运行 CMake 命令。如果问题仍然存在,您可以尝试在 CMake 命令中显式指定 ZLIB 和 PNG 库路径,方法是添加以下选项:

sh
Copy code
-DZLIB_INCLUDE_DIR=C:\msys64\mingw64\include -DZLIB_LIBRARY=C:\msys64\mingw64\lib\libz.dll.a -DPNG_PNG_INCLUDE_DIR=C:\msys64\mingw64\include -DPNG_LIBRARY=C:\msys64\mingw64\lib\libpng.dll.a
如果你的 MSYS2 安装位置不同,请确保调整路径。您的完整 CMake 命令现在应该如下所示:

sh
Copy code
cmake -G “Visual Studio 16 2019” -A x64 -DCMAKE_INSTALL_PREFIX=“C:/Program Files/krita” -DZLIB_INCLUDE_DIR=C:\msys64\mingw64\include -DZLIB_LIBRARY=C:\msys64\mingw64\lib\libz.dll.a -DPNG_PNG_INCLUDE_DIR=C:\msys64\mingw64\include -DPNG_LIBRARY=C:\msys64\mingw64\lib\libpng.dll.a <path_to_krita_source_directory>
运行修改后的 CMake 命令,这应该解决 ZLIB 和 PNG 库的问题。

对不起,我之前提供的命令是针对 Windows 命令提示符。因为您使用的是 MSYS2,需要使用以下命令来设置环境变量:

sh
Copy code
export INCLUDE=“/c/msys64/mingw64/include: I N C L U D E " e x p o r t L I B = " / c / m s y s 64 / m i n g w 64 / l i b : INCLUDE" export LIB="/c/msys64/mingw64/lib: INCLUDE"exportLIB="/c/msys64/mingw64/lib:LIB”
这些命令会将所需的包含路径和库路径临时添加到 INCLUDE 和 LIB 环境变量中,仅针对当前会话。如果您的 MSYS2 安装位置不同,请确保调整路径。

然后,您可以按照之前的建议运行 CMake 命令。如果问题仍然存在,尝试在 CMake 命令中显式指定 ZLIB 和 PNG 库路径。

在 CMake GUI 中,您可以按照以下步骤指定这些变量:

在这里插入图片描述

打开 CMake GUI。
在 “Where is the source code:” 字段中,输入 Krita 源代码所在目录的路径。
在 “Where to build the binaries:” 字段中,输入您想要构建 Krita 的目录路径。
单击 “Configure” 按钮。
配置完成后,您将看到一个包含很多变量的列表。在此列表中,找到以下变量并分别设置它们的值:
ZLIB_INCLUDE_DIR - 设置为 C:\msys64\mingw64\include
ZLIB_LIBRARY - 设置为 C:\msys64\mingw64\lib\libz.dll.a
PNG_PNG_INCLUDE_DIR - 设置为 C:\msys64\mingw64\include
PNG_LIBRARY - 设置为 C:\msys64\mingw64\lib\libpng.dll.a
修改这些值后,单击 “Configure” 按钮再次配置。
如果没有错误出现,单击 “Generate” 按钮生成构建文件。
现在您应该能够在指定的构建目录中找到生成的构建文件。根据所选的生成器,您可以使用相应的工具(如 Visual Studio、MSYS2 Makefiles 等)来构建 Krita。
在这里插入图片描述
5.
在这里插入图片描述
根据提供的输出,您需要找到并安装 “Immer” 库。在 MSYS2 中,您可以通过以下命令来安装 Immer:

bash
Copy code
pacman -S mingw-w64-x86_64-immer
安装完成后,重新运行 CMake,但这次需要设置 “Immer_DIR” 变量。您可以在 CMake GUI 中设置这个变量。假设 Immer 安装在 MSYS2 的默认路径,您可以:

在 CMake GUI 中找到 “Immer_DIR” 变量(如果找不到,请单击 “Add Entry” 按钮创建一个)。
将 “Immer_DIR” 变量的值设置为 C:\msys64\mingw64\lib\cmake\immer(根据您的 MSYS2 安装路径进行调整)。
单击 “Configure” 按钮再次配置。
如果没有错误出现,单击 “Generate” 按钮生成构建文件。
完成后,您应该能够继续编译 Krita。如果问题仍然存在,请确保您已经更新了 MSYS2 和相关的库。

在这里插入图片描述
抱歉,我的错误。看起来 MSYS2 仓库中没有预编译的 Immer 包。您可以从源代码构建并安装它。请按照以下步骤操作:

首先,从 GitHub 下载 Immer 源代码:

bash
Copy code
git clone https://github.com/arximboldi/immer.git
进入下载的源代码目录:

bash
Copy code
cd immer
创建一个构建目录并进入:

bash
Copy code
mkdir build
cd build
使用 CMake 配置 Immer:

bash
Copy code
cmake … -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64
这将使用 MSYS Makefiles 生成器配置 Immer,将安装目录设置为 /mingw64。

编译并安装 Immer:

go
Copy code
make -j$(nproc)
make install
这将使用所有可用的 CPU 内核构建 Immer,然后将其安装到 /mingw64 目录。

现在,您应该可以在 CMake GUI 中设置 “Immer_DIR” 变量并继续编译 Krita 了。将 “Immer_DIR” 变量的值设置为 C:\msys64\mingw64\lib\cmake\immer(根据您的 MSYS2 安装路径进行调整)。然后再次运行 “Configure” 和 “Generate”。

在这里插入图片描述

使用CMkae bash:

现在您已经进入了 CMake 的 bash 环境。接下来,您需要根据要构建的项目进行操作。

请按照项目的构建指南进行操作。通常,这些步骤包括:

切换到项目源代码所在的目录。例如:
bash
Copy code
cd /path/to/project-source
确保将 /path/to/project-source 替换为实际项目源代码所在的路径。

创建一个用于构建项目的新目录,并切换到该目录。例如:
bash
Copy code
mkdir build
cd build
使用 CMake 配置项目。在这一步中,您可能需要指定项目所需的一些选项。例如:
bash
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
或者,如果您需要指定特定的库或头文件路径,可以使用类似以下的命令:

javascript
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DZLIB_INCLUDE_DIR=/path/to/zlib/include -DZLIB_LIBRARY=/path/to/zlib/library
确保根据实际项目需求替换选项和路径。

使用 CMake 构建项目。这通常涉及运行 make 命令:
go
Copy code
make
安装项目(可选)。如果需要,您可以使用以下命令安装项目:
go
Copy code
make install
1.
在这里插入图片描述
现在您已经进入了 CMake 的 bash 环境。接下来,您需要根据要构建的项目进行操作。

请按照项目的构建指南进行操作。通常,这些步骤包括:

切换到项目源代码所在的目录。例如:
bash
Copy code
cd /path/to/project-source
确保将 /path/to/project-source 替换为实际项目源代码所在的路径。

创建一个用于构建项目的新目录,并切换到该目录。例如:
bash
Copy code
mkdir build
cd build
使用 CMake 配置项目。在这一步中,您可能需要指定项目所需的一些选项。例如:
bash
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
或者,如果您需要指定特定的库或头文件路径,可以使用类似以下的命令:

javascript
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DZLIB_INCLUDE_DIR=/path/to/zlib/include -DZLIB_LIBRARY=/path/to/zlib/library
确保根据实际项目需求替换选项和路径。

使用 CMake 构建项目。这通常涉及运行 make 命令:
go
Copy code
make
安装项目(可选)。如果需要,您可以使用以下命令安装项目:
go
Copy code
make install
请注意,这些步骤可能因项目而异。务必参考项目的构建指南以获取正确的步骤和选项。

madedevupho@mail.com
ASUS@LAPTOP-0R30I78P UCRT64 ~
$ cd E:\krita-dev\krita
-bash: cd: E:krita-devkrita: No such file or directory

ASUS@LAPTOP-0R30I78P UCRT64 ~
$
在 MSYS2 中,您需要以特定方式指定 Windows 驱动器和目录。为了进入 E:\krita-dev\krita,您应该使用以下命令:

bash
Copy code
cd /e/krita-dev/krita
请注意,在 MSYS2 中,驱动器名后面的冒号已被省略,而路径使用正斜杠(/)而不是反斜杠(\)。

ASUS@LAPTOP-0R30I78P UCRT64 /e/krita-dev/krita/build
$ cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
CMake Error: CMake was unable to find a build program corresponding to “Unix Makefiles”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!

ASUS@LAPTOP-0R30I78P UCRT64 /e/krita-dev/krita/build
$
您需要使用 MSYS2 的 MinGW-w64 编译器和生成工具(如 make)。为此,请确保您在 MSYS2 MinGW 64 位环境中运行 CMake 命令,而不是在 MSYS2 的默认环境中运行。您可以通过运行以下命令来安装 MSYS2 MinGW 64 位环境所需的工具:

bash
Copy code
pacman -S mingw-w64-x86_64-toolchain
安装工具链后,确保运行 MSYS2 MinGW 64 位环境,而不是默认的 MSYS2 环境。您应该在开始菜单中找到名为“MSYS2 MinGW 64-bit”的快捷方式。打开它并进入 Krita 的源代码目录和构建目录:

bash
Copy code
cd /e/krita-dev/krita/build
然后再次尝试运行 CMake 命令:

bash
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
这应该会在 Krita 的源代码目录之外生成构建文件。如果您仍然遇到问题,请确保在 MSYS2 MinGW 64 位环境中运行命令。
在这里插入图片描述
在这里插入图片描述
这个错误是由于之前在不同的环境中尝试构建导致的。为了解决这个问题,您需要清理之前的构建缓存。请按照以下步骤操作:

删除 build 目录下的 CMakeCache.txt 文件:
bash
Copy code
rm CMakeCache.txt
确保您位于正确的构建目录(在本例中为 /e/krita-dev/krita/build),然后再次运行 CMake 命令:
bash
Copy code
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
现在,CMake 应该能够正确生成构建文件。如果您仍然遇到问题,请确保在 MSYS2 MinGW 64 位环境中运行命令。

在这里插入图片描述
抱歉,我犯了个错误。Immer 使用的是 Meson 构建系统,而不是 CMake。请按照以下步骤安装 Immer:

首先,确保您已安装 Meson。如果没有,请在 MSYS2 终端中运行以下命令安装:
bash
Copy code
pacman -S meson
然后,在 Immer 源代码目录中运行 Meson:
bash
Copy code
cd /e/krita-dev/immer
meson setup build --prefix=/mingw64
接下来,构建并安装 Immer:
bash
Copy code
cd build
meson compile
meson install
完成这些步骤后,返回到 Krita 的构建目录,然后再次运行 CMake:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
此时,CMake 应该能够找到 Immer 库,并正确配置 Krita 的构建。

在这里插入图片描述
抱歉,我之前的建议似乎没有解决问题。在这种情况下,请确保您正在使用正确的 meson 命令。请尝试运行以下命令来查找和使用正确的 meson:

bash
Copy code
where meson
这将列出所有可用的 meson 实例。请确保您正在使用安装在 /mingw64/bin 目录下的 meson。

如果您发现 /mingw64/bin 目录下的 meson,您可以通过使用绝对路径直接调用它来运行 Meson。例如:

bash
Copy code
/mingw64/bin/meson setup build --prefix=/mingw64
这应该会成功设置 Immer 的构建目录。
在这里插入图片描述

在这里插入图片描述
从输出中看,似乎有一些依赖项没有找到,但这不会影响Immer库的构建。这些警告可以暂时忽略。现在你可以继续构建并安装Immer库。请按照以下步骤操作:

构建Immer库:
bash
Copy code
cd build
/mingw64/bin/ninja
安装Immer库:
bash
Copy code
/mingw64/bin/ninja install
完成这些步骤后,Immer库应该已经安装在您的系统上。接下来,您可以回到Krita的构建目录并尝试再次运行CMake。

在这里插入图片描述

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
这次CMake应该能够找到Immer库并正确配置Krita的构建。

抱歉,我犯了一个错误。在Immer的构建目录下没有生成ninja构建文件。我们需要首先在Immer的根目录下运行Meson来生成构建文件。

返回到Immer的根目录:
bash
Copy code
cd /e/krita-dev/immer/immer
创建一个名为build的新目录(如果已经存在,请忽略此步骤):
bash
Copy code
mkdir build
使用Meson生成构建文件:
bash
Copy code
/mingw64/bin/meson setup build --prefix=/mingw64
切换到build目录:
bash
Copy code
cd build
使用ninja构建Immer库:
bash
Copy code
/mingw64/bin/ninja
安装Immer库:
bash
Copy code
/mingw64/bin/ninja install
完成这些步骤后,Immer库应该已经安装在您的系统上。接下来,您可以回到Krita的构建目录并尝试再次运行CMake。

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
这次CMake应该能够找到Immer库并正确配置Krita的构建。

在这里插入图片描述
对不起,我在之前的回复中犯了一个错误。在MSYS2/MinGW环境下,您应该使用 “MSYS Makefiles”。出现错误是因为您之前尝试使用 “MSYS Makefiles”,但需要先设置CMAKE_MAKE_PROGRAM。这里是解决方法:

删除旧的CMake缓存和CMakeFiles目录:
bash
Copy code
rm -r CMakeCache.txt CMakeFiles
设置CMAKE_MAKE_PROGRAM变量,指向正确的make程序(在MSYS2环境中为mingw32-make.exe),并运行CMake命令:
bash
Copy code
cmake … -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64 -DCMAKE_MAKE_PROGRAM=/mingw64/bin/mingw32-make.exe
接下来,使用mingw32-make构建Immer库:
bash
Copy code
/mingw64/bin/mingw32-make.exe
最后,安装Immer库:
bash
Copy code
/mingw64/bin/mingw32-make.exe install
完成这些步骤后,Immer库应该已经安装在您的系统上。接下来,您可以回到Krita的构建目录并尝试再次运行CMake。

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64

在这里插入图片描述

在这里插入图片描述
从错误信息来看,您缺少了一些依赖库,如ZLIB和PNG。请按照以下步骤安装缺失的依赖库:

在MSYS2终端中运行以下命令:

bash
Copy code
pacman -S --needed mingw-w64-x86_64-zlib mingw-w64-x86_64-libpng
这将安装ZLIB和PNG库。安装完成后,请重新运行CMake:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64
如果仍然遇到问题,请确保您的环境变量正确设置,以便CMake可以找到这些库。您可以通过在MSYS2终端中运行以下命令将MinGW64库添加到环境变量中:

bash
Copy code
export PATH=/mingw64/bin:$PATH
之后,再次尝试运行CMake。

在这里插入图片描述

现在出现了一个新的错误,CMake无法找到Zug库。要解决这个问题,请尝试设置Zug_DIR,使其指向包含ZugConfig.cmake或zug-config.cmake文件的目录。你需要先找到这些文件在你的系统上的确切位置。

假设这些文件位于/mingw64/lib/cmake/Zug目录下,你可以通过运行以下命令设置Zug_DIR:

bash
Copy code
export Zug_DIR=/mingw64/lib/cmake/Zug
然后,再次运行CMake:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DPNG_LIBRARY=/mingw64/lib/libpng.dll.a
如果问题仍然存在,请检查Zug_DIR是否设置正确,以及ZugConfig.cmake或zug-config.cmake文件是否确实存在于该目录下。

很抱歉给您带来困扰。请按照以下步骤解决问题:

打开位于 Krita 源文件夹(/e/krita-dev/krita)中的 CMakeLists.txt 文件。

找到包含 find_package(Zug REQUIRED) 的那一行(第 800 行)。

通过在该行前面添加 # 来注释掉它,如下所示:

cmake
Copy code

find_package(Zug REQUIRED)

保存并关闭 CMakeLists.txt 文件。

返回到构建目录,然后再次运行 CMake:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DPNG_LIBRARY=/mingw64/lib/libpng.dll.a
这应该允许 CMake 无错误地配置项目。

在这里插入图片描述

在这里插入图片描述
抱歉,我之前的建议似乎没有解决问题。现在问题是找不到 Lager 库。为了解决这个问题,您需要先安装 Lager 库。请按照以下步骤进行操作:

在 MSYS2 终端中,运行以下命令来安装 Lager 库:

Copy code
pacman -S mingw-w64-x86_64-lager
确认已经安装 Lager 库后,重新运行 CMake 配置命令:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DPNG_LIBRARY=/mingw64/lib/libpng.dll.a
这应该可以解决找不到 Lager 库的问题。如果您遇到其他问题,请随时告诉我。

在这里插入图片描述
对于 Lager 库,我在之前的建议中犯了个错误。Lager 并不是一个 MSYS2 包,因此无法直接通过 pacman 安装。您需要从源代码编译并安装 Lager 库。请按照以下步骤进行操作:

获取 Lager 源代码:

bash
Copy code
git clone https://github.com/arximboldi/lager.git
创建一个 Lager 编译目录,并进入目录:

bash
Copy code
mkdir lager/build && cd lager/build
使用 CMake 配置 Lager:

bash
Copy code
cmake … -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64
编译并安装 Lager:

go
Copy code
make -j$(nproc) && make install
确认已经安装 Lager 库后,返回到 Krita 的编译目录,然后重新运行 CMake 配置命令:

bash
Copy code
cd /e/krita-dev/krita/build
cmake … -DCMAKE_INSTALL_PREFIX=/mingw64 -DPNG_LIBRARY=/mingw64/lib/libpng.dll.a
这应该可以解决找不到 Lager 库的问题。如果您遇到其他问题,请随时告诉我。

在这里插入图片描述
这个错误表明您的系统可能存在多个不同版本的 Cygwin DLL。这可能导致版本不兼容的问题。为了解决这个问题,请按照以下步骤操作:

首先,使用 Windows 搜索功能,搜索所有的 cygwin1.dll 文件。

删除除了最新版本以外的所有 cygwin1.dll 文件。最新版本的 cygwin1.dll 应该位于 MSYS2 的 bin 文件夹中。例如,如果您将 MSYS2 安装在 C:\msys64,则最新版本的 cygwin1.dll 应该位于 C:\msys64\usr\bin 中。

重新启动计算机。

在重新启动计算机后,再次尝试运行 Lager 的 CMake 配置命令:

bash
Copy code
cmake … -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64
在这里插入图片描述
ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/zug/zug_build
$ cmake …/zug -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64
CMake Error: CMake was unable to find a build program corresponding to “MSYS Makefiles”. CMAKE_MAKE
_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_AR was not found, please set to archive program.
– Configuring incomplete, errors occurred!

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/zug/zug_build
这个错误表示 CMake 没有找到与 “MSYS Makefiles” 对应的构建程序。要解决这个问题,请确保你已经安装了 MSYS2 的开发工具包,并且确保你正在使用正确的 MSYS2 MinGW 64-bit 终端。

请检查是否已经安装了 MSYS2 的开发工具包,例如 base-devel 和 mingw-w64-x86_64-toolchain。

在 MSYS2 MinGW 64-bit 终端中运行以下命令来安装这些包:

csharp
Copy code
$ pacman -S base-devel mingw-w64-x86_64-toolchain
然后,确保你正在使用 MSYS2 MinGW 64-bit 终端(从开始菜单或应用程序列表中找到并启动它)。这个终端与之前的 MSYS2 终端不同,它将为你提供适当的构建环境。

在 MSYS2 MinGW 64-bit 终端中,导航到 zug_build 目录并再次运行 CMake 命令:

shell
Copy code
$ cd /e/krita-dev/zug/zug_build
$ cmake …/zug -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64

在这里插入图片描述
在这里插入图片描述
抱歉,我之前提供的 Lager 仓库链接是错误的。正确的 Lager 仓库链接是:https://github.com/arximboldi/lager.git

请使用以下命令克隆正确的 Lager 仓库:

bash
Copy code
git clone git@github.com:arximboldi/lager.git
然后按照之前的步骤继续进行编译和安装。
Lager 的正确 CMakeLists.txt 文件实际上在 /e/krita-dev/lager/lager 文件夹中。请按照以下步骤操作:

删除之前创建的 zug_build 文件夹:
bash
Copy code
cd /e/krita-dev/lager
rm -rf zug_build
创建一个名为 zug_build 的文件夹:
bash
Copy code
mkdir zug_build
进入 zug_build 文件夹并使用 CMake 配置 Lager 项目:
bash
Copy code
cd zug_build
cmake -S …/lager -B .
编译 Lager:
bash
Copy code
make
安装 Lager:
bash
Copy code
make install
安装 Lager 之后,请按照之前的说明设置环境变量,让 CMake 能够找到 Lager 的安装路径。然后回到之前 Krita 的编译目录,并使用 CMake 重新配置 Krita 项目。

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/zug_build
$ cmake --build . --config Release
用于 .NET Framework 的 Microsoft ® 生成引擎版本 16.11.2+f32259642
版权所有© Microsoft Corporation。保留所有权利。

Checking Build System
Build debugger web UI
sass --scss gui.scss gui.css
make: sass: No such file or directory
make: *** [makefile:13: gui.css] Error 127
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.
CppCommon.targets(241,5): error MSB8066: “E:\krita-dev\lager\zug_build\CMakeFiles\db0b7c627150c6c3f
8de9594175b1471\gui.rule;E:\krita-dev\lager\lager\CMakeLists.txt”的自定义生成已退出,代码为 2。 [E:
krita-dev\lag
er\zug_build\gui.vcxproj]

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/zug_build
$ cmake --install . --prefix install --config Release
– Installing: E:/krita-dev/lager/zug_build/install/share/lager/gui/gui.js
CMake Error at cmake_install.cmake:36 (file):
file INSTALL cannot find “E:/krita-dev/lager/lager/resources/gui/gui.css”:
File exists.

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/zug_build
$

从错误日志来看,您需要安装 sass。这是一个用于将 SCSS 编译成 CSS 的工具。在您的 Windows 系统上,您可以按照以下步骤安装 Sass:

首先,确保您已经安装了 Node.js。如果尚未安装,请从 Node.js 官网 (https://nodejs.org/en/download/) 下载并安装适合您的 Windows 版本的 Node.js。安装完成后,您将能够使用 npm(Node.js 包管理器)。

使用命令提示符或 PowerShell 安装 Sass:

bash
Copy code
npm install -g sass
安装完成后,再次尝试编译 Lager:
bash
Copy code
cmake --build . --config Release
如果编译成功,您可以继续进行安装:
bash
Copy code
cmake --install . --prefix install --config Release
完成后,设置环境变量,让 CMake 能够找到 Lager 的安装路径。然后回到之前 Krita 的编译目录,并使用 CMake 重新配置 Krita 项目。
在这里插入图片描述
看起来 Sass 还没有被添加到您的系统环境变量中。请按照以下步骤添加 Sass 到您的环境变量:

找到 Sass 安装路径。可以在 PowerShell 中运行以下命令找到 Sass 的安装位置:
powershell
Copy code
(Get-Command sass).Path
记下 Sass 的安装路径,我们将在下一步中使用它。

在 Windows 搜索栏中输入“环境变量”,然后选择“编辑系统环境变量”。

在“系统属性”窗口中,点击“环境变量”按钮。

在“环境变量”窗口中,找到“系统变量”下的“Path”变量,然后点击“编辑”。

在“编辑环境变量”窗口中,点击“新建”,然后粘贴刚刚复制的 Sass 安装路径。确保包含到 sass.cmd 文件所在的文件夹。

确认所有窗口,使更改生效。

完成这些操作后,重新启动 MINGW64 终端,然后再次运行:

bash
Copy code
cmake --build . --config Release

在这里插入图片描述

在这里插入图片描述
在E:\krita-dev\lager\build目录下有个BUILD文件,所以导致mkdir build创建失败,所以我把BUILD文件删除了,才能创建build目录,感觉MSYS2不区分大小写的吗?然后输入make…
在这里插入图片描述
在您的错误日志中,CMake 无法找到 “Lager” 库。为了解决这个问题,您需要确保已经安装了 Lager 库,并将其安装路径添加到 CMAKE_PREFIX_PATH,或者设置 “Lager_DIR” 变量,指向包含 LagerConfig.cmake 或 lager-config.cmake 文件的目录。

如果您尚未安装 Lager,请按照库的文档进行安装。例如,您可以从 Lager 的 GitHub 存储库克隆代码并按照说明进行编译和安装:

克隆 Lager 库:
bash
Copy code
git clone https://github.com/arximboldi/lager.git
创建并进入构建目录:
bash
Copy code
cd lager
mkdir build
cd build
使用 CMake 配置和生成构建文件:
Copy code
cmake …
构建和安装 Lager:
css
Copy code
cmake --build . --target install
确保 Lager 安装路径已添加到 CMAKE_PREFIX_PATH,或者在 Krita 的 CMakeLists.txt 文件中设置 “Lager_DIR” 变量,使其指向包含 LagerConfig.cmake 或 lager-config.cmake 文件的目录。
例如,在 Krita 的 CMakeLists.txt 文件中添加以下内容:

cmake
Copy code
set(Lager_DIR “/path/to/lager/installation/lib/cmake/Lager”)
将 “/path/to/lager/installation” 替换为实际的 Lager 安装路径。

完成这些步骤后,再次尝试编译 Krita。如果问题仍然存在,请提供更多详细信息,以便我们为您提供进一步的帮助。

madedevupho@mail.com
ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/build
$ cmake --build . --target install
[1/2] Build debugger web UI
FAILED: CMakeFiles/gui E:/krita-dev/lager/build/CMakeFiles/gui
cmd.exe /C “cd /D E:\krita-dev\lager\resources\gui && make”
sass --scss gui.scss gui.css
make: sass: No such file or directory
make: *** [makefile:13: gui.css] Error 127
ninja: build stopped: subcommand failed.

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/build
$
根据您的错误日志,构建过程中找不到 sass 命令。您需要安装 Sass 编译器以继续构建过程。

请按照以下步骤安装 Sass:

打开一个新的命令提示符窗口。
使用 npm 安装 Dart Sass(推荐的 Sass 编译器):
Copy code
npm install -g sass
这将在全局范围内安装 Sass 编译器,并使其在您的系统上可用。

完成 Sass 安装后,请返回到您的 Lager 构建目录并再次尝试编译和安装:

bash
Copy code
cd /e/krita-dev/lager/build
cmake --build . --target install
如果您仍然遇到问题,请随时提供更多详细信息,以便我们为您提供进一步的帮助。

madedevupho@mail.com
PS E:\krita-dev\lager\build> npm install -g sass

changed 17 packages in 5s

2 packages are looking for funding
run npm fund for details
PS E:\krita-dev\lager\build>
PS E:\krita-dev\lager\build>

2 / 2

现在您已经成功安装了 Sass,可以继续尝试构建和安装 Lager 项目了。请执行以下命令:

bash
Copy code
cd /e/krita-dev/lager/build
cmake --build . --target install
如果在构建过程中遇到任何问题,请随时提供更多详细信息,以便我们为您提供进一步的帮助。

madedevupho@mail.com
ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/build
$ cmake --build . --target install
[1/2] Build debugger web UI
FAILED: CMakeFiles/gui E:/krita-dev/lager/build/CMakeFiles/gui
cmd.exe /C “cd /D E:\krita-dev\lager\resources\gui && make”
sass --scss gui.scss gui.css
make: sass: No such file or directory
make: *** [makefile:13: gui.css] Error 127
ninja: build stopped: subcommand failed.

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/lager/build
$
看起来您的系统仍然无法找到 sass 命令。这可能是因为 sass 没有被添加到系统的 PATH 变量中。为了解决这个问题,您需要找到 sass 的可执行文件的路径,并将其添加到系统的 PATH 变量中。

首先,尝试找到 sass 可执行文件的路径。您可以运行以下命令来查找 sass 安装位置:

Copy code
npm list -g sass
这将显示 sass 的安装路径。然后,导航到该路径,并找到名为 “sass” 或 “sass.cmd”(在 Windows 系统上)的可执行文件。它应该位于类似于 node_modules/.bin/ 的子目录中。

接下来,将找到的可执行文件路径添加到系统的 PATH 变量中。根据您的操作系统,执行以下操作:

在 Windows 上,打开“环境变量”编辑器,然后将找到的路径添加到用户或系统的 PATH 变量中。
在 macOS 或 Linux 上,将找到的路径添加到用户的 ~/.bashrc 或 ~/.bash_profile 文件中,如下所示:
ruby
Copy code
export PATH=$PATH:/path/to/your/sass/executable
最后,重新启动终端或命令提示符,然后再次尝试运行构建命令:

bash
Copy code
cd /e/krita-dev/lager/build
cmake --build . --target install
请注意,将可执行文件路径添加到 PATH 变量的方法可能因操作系统而异。请根据您的操作系统进行相应的调整。如果您需要更多帮助,请告诉我们您的操作系统,以便我们为您提供详细的说明。

madedevupho@mail.com
PS E:\krita-dev\lager\build> npm list -g sass
C:\Users\ASUS\AppData\Roaming\npm
`-- sass@1.61.0

PS E:\krita-dev\lager\build>
PS E:\krita-dev\lager\build>
根据提供的输出,sass 已经在全局范围内安装。接下来,请找到可执行文件的路径。

在您的系统上,可执行文件的路径可能类似于:

makefile
Copy code
C:\Users\ASUS\AppData\Roaming\npm\node_modules\sass\sass.js

makefile
Copy code
C:\Users\ASUS\AppData\Roaming\npm\node_modules\sass\sass.cmd
或者,在 C:\Users\ASUS\AppData\Roaming\npm 目录下,可以找到名为 “sass” 或 “sass.cmd” 的可执行文件。

现在,将找到的路径添加到系统的 PATH 变量中:

在 Windows 搜索框中,键入“环境变量”并打开“编辑系统环境变量”。
在“系统属性”窗口的“高级”选项卡下,点击“环境变量”按钮。
在“用户变量”或“系统变量”部分中,找到名为“Path”的变量,并双击它。
点击“新建”,然后输入找到的可执行文件路径(例如:C:\Users\ASUS\AppData\Roaming\npm)。
完成后,点击确定关闭环境变量编辑器。重新启动终端或命令提示符,然后再次尝试运行构建命令:

bash
Copy code
cd /e/krita-dev/lager/build
cmake --build . --target install
这应该解决 sass 的问题。如果仍然遇到问题,请告诉我们,我们将继续提供帮助。

make: *** [makefile:13: gui.css] Error 64
ninja: build stopped: subcommand failed.
PS E:\krita-dev\lager\build> cd e:\krita-dev\lager\build
PS E:\krita-dev\lager\build> cmake --build . --target install
[1/2] Build debugger web UI
sass gui.scss gui.css
[1/2] Install the project…-- Install configuration: “”
CMake Error at cmake_install.cmake:41 (file):
file cannot create directory: C:/Program Files (x86)/lager/share/lager/gui.
Maybe need administrative privileges.

FAILED: CMakeFiles/install.util
cmd.exe /C “cd /D E:\krita-dev\lager\build && C:\msys64\mingw64\bin\cmake.exe -P cmake_install.cmake”
ninja: build stopped: subcommand failed.
PS E:\krita-dev\lager\build>

看起来是权限问题。CMake 试图将文件安装到 C:/Program Files (x86)/lager/share/lager/gui,但由于没有足够的权限,无法创建目录。您需要以管理员身份运行 PowerShell 来解决此问题。

关闭当前 PowerShell 窗口。
搜索并找到 “PowerShell”,右键单击 “Windows PowerShell”,然后选择 “以管理员身份运行”。这将打开一个新的 PowerShell 窗口,具有管理员权限。
在新的 PowerShell 窗口中,再次尝试运行以下命令:
powershell
Copy code
cd e:\krita-dev\lager\build
cmake --build . --target install
以管理员身份运行命令后,构建和安装过程应该能够成功完成。

madedevupho@mail.com
PowerShell路径是哪里?
PowerShell 路径指的是您的计算机上 PowerShell 可执行文件的位置。在大多数 Windows 系统上,PowerShell 可执行文件位于以下路径:

makefile
Copy code
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
但是,在大多数情况下,您无需知道 PowerShell 的确切路径。按照以下步骤即可启动 PowerShell:

打开 “开始” 菜单,然后键入 “PowerShell”。
在搜索结果中找到 “Windows PowerShell”。
右键单击 “Windows PowerShell”,然后选择 “以管理员身份运行”。
这将以管理员权限打开一个新的 PowerShell 窗口,您可以在其中运行命令。

madedevupho@mail.com
PS C:\WINDOWS\system32> cd e:\krita-dev\lager\build
PS E:\krita-dev\lager\build> cmake --build . --target install
[1/2] Build debugger web UI
make: Nothing to be done for ‘all’.
[1/2] Install the project…-- Install configuration: “”
– Installing: C:/Program Files (x86)/lager/share/lager/gui/gui.js
– Installing: C:/Program Files (x86)/lager/share/lager/gui/gui.css
– Installing: C:/Program Files (x86)/lager/share/lager/gui/index.html
– Installing: C:/Program Files (x86)/lager/include/lager/resources_path.hpp
– Installing: C:/Program Files (x86)/lager/lib/cmake/Lager/LagerConfig.cmake
– Up-to-date: C:/Program Files (x86)/lager/include/lager
– Installing: C:/Program Files (x86)/lager/include/lager/commit.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/config.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/constant.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/context.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/cursor.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/debug
– Installing: C:/Program Files (x86)/lager/include/lager/debug/debugger.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/debug/http_server.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/debug/tree_debugger.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/deps.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail
– Installing: C:/Program Files (x86)/lager/include/lager/detail/access.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/lens_nodes.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/merge_nodes.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/nodes.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/no_value.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/signal.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/smart_lens.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/detail/xform_nodes.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/effect.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/boost_asio.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/manual.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/qml.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/qt.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/queue.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/safe_queue.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/event_loop/sdl.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/enum.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_array.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_box.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_flex_vector.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_map.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_set.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/immer_vector.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/inline.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/json.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/optional_nvp.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/struct.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/tuple.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/cereal/variant_with_name.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive/cereal.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive/eq.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive/hana.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive/hash.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive/size_check.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/derive.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/enum.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/qt.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/extra/struct.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/future.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lens.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/at.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/attr.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/at_or.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/optional.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/tuple.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/unbox.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses/variant.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/lenses.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/reader.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/resources_path.hpp.in
– Installing: C:/Program Files (x86)/lager/include/lager/sensor.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/setter.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/state.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/store.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/tags.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/util.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/watch.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/with.hpp
– Installing: C:/Program Files (x86)/lager/include/lager/writer.hpp

PS E:\krita-dev\lager\build>
在这里插入图片描述
在这里插入图片描述
抱歉我之前的解释可能有点不清楚。你需要在运行CMake命令时添加-DCMAKE_PREFIX_PATH= 参数。请使用以下步骤:

首先,找到libtiff库的安装路径。在MSYS2下,路径通常是C:/msys64/mingw64。

然后,在你的CMake命令中添加-DCMAKE_PREFIX_PATH参数。例如:

bash
Copy code
cmake … -DCMAKE_PREFIX_PATH=C:/msys64/mingw64
请确保将C:/msys64/mingw64替换为实际的libtiff库路径。

如果在CMake配置过程中仍然找不到TIFF库,可以尝试在MSYS2终端中运行以下命令以确保环境变量已正确设置:
bash
Copy code
export PATH=“/mingw64/bin:$PATH”
然后再次运行CMake命令。

在这里插入图片描述
看起来我犯了一个错误,我认为您正在构建 Krita 而不是 Lager。请跟随以下步骤:

首先,确保您已经从 Krita 的官方 GitHub 仓库中克隆了源代码。如果您还没有这样做,请运行以下命令:

bash
Copy code
git clone https://github.com/KDE/krita.git
创建一个构建目录并导航到它:

bash
Copy code
cd krita
mkdir build
cd build
使用 cmake 配置构建:

bash
Copy code
cmake … -G “MinGW Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=…/install
运行以下命令来编译 Krita:

bash
Copy code
mingw32-make -j$(nproc --all)
或者,如果您想使用 8 个线程编译:

bash
Copy code
mingw32-make -j8

克隆 libraqm 存储库:
shell
Copy code
$ git clone https://github.com/HOST-Oman/libraqm.git
转到克隆的目录:
shell
Copy code
$ cd libraqm
创建构建目录:
shell
Copy code
$ mkdir build
$ cd build
运行 cmake:
shell
Copy code
$ cmake … -G “MinGW Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/mingw64
构建并安装软件包:
go
Copy code
$ make
$ make install

按照上面步骤,我在MSYS2 MINGW64 输入 make命令,报错:ASUS@LAPTOP-0R30I78P MINGW64 ~
$ cd /e/krita-dev/libraqm

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm
$ mkdir build

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm
$ cd build

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm/build
$ make
make: *** No targets specified and no makefile found. Stop.

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm/build
$
抱歉,我之前的回答有一个遗漏的步骤。在运行 make 之前,您需要先运行 cmake 以生成 Makefile。请按照以下步骤操作:

保持在 /e/krita-dev/libraqm/build 目录下。

运行 cmake 命令:

bash
Copy code
$ cmake … -G “MinGW Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/mingw64
现在,您可以运行 make 命令:
bash
Copy code
$ make
如果没有错误,继续安装:
bash
Copy code
$ make install
完成这些步骤后,libraqm 应该已经安装到您的系统中。现在您可以继续 Krita 的构建过程。

madedevupho@mail.com
ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm/build
$ cmake … -G “MinGW Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/mingw64
CMake Warning:
Ignoring extra path from command line:

“…”

CMake Error: The source directory “E:/krita-dev/libraqm” does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm/build
$
抱歉刚刚的回答给您带来的困扰。我发现 libraqm 的构建方式不同,它使用的是 Autotools 而非 CMake。请按照以下步骤操作:

保持在 /e/krita-dev/libraqm 目录下。

运行 autoreconf 命令以生成 configure 脚本(如果没有 autoreconf,您需要安装 autoconf 和 automake 包):

bash
Copy code
$ autoreconf -ivf
运行 configure 脚本:
bash
Copy code
$ ./configure --prefix=/mingw64
现在您可以运行 make 命令:
bash
Copy code
$ make
如果没有错误,继续安装:
bash
Copy code
$ make install
完成这些步骤后,libraqm 应该已经安装到您的系统中。现在您可以继续 Krita 的构建过程。

madedevupho@mail.com
我在msys2 mingw64中输入$ autoreconf -ivf命令报错:ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm
$ autoreconf -ivf
-bash: autoreconf: command not found

ASUS@LAPTOP-0R30I78P MINGW64 /e/krita-dev/libraqm
$

抱歉刚刚的回答没有提到如何安装 autoreconf。这里是您在 MSYS2 MINGW64 环境下如何安装所需的工具。

请在 MSYS2 MINGW64 窗口中运行以下命令以安装 autoconf 和 automake:

bash
Copy code
$ pacman -S autoconf automake
安装完成后,您可以返回到之前的步骤,再次运行 autoreconf -ivf 命令。
确实,我检查了一下,https://github.com/freedesktop/libraqm.git 这个仓库链接似乎是不可用的。这可能是因为项目已经被移动或删除。

但是,我找到了另一个仓库链接:https://github.com/HOST-Oman/libraqm.git。该仓库似乎与原始的 libraqm 项目相关。您可以尝试使用这个链接克隆仓库:

bash
Copy code
$ git clone https://github.com/HOST-Oman/libraqm.git

这个错误可能是由于CMake无法找到正确的Qt库引起的。请尝试以下步骤:

首先,确保您已经安装了mingw-w64-x86_64-qt5。在MSYS2终端中执行以下命令来安装(如果尚未安装):
bash
Copy code
pacman -S mingw-w64-x86_64-qt5
在CMake GUI中,删除所有已经设置的路径,然后重新配置。这将确保CMake从头开始查找所有依赖项。

如果问题仍然存在,尝试手动设置CMake中的Qt5路径。这可以通过设置CMake变量CMAKE_PREFIX_PATH来完成。您需要将该变量设置为MSYS2中Qt5的安装路径。这个路径通常是C:/msys64/mingw64。要设置CMAKE_PREFIX_PATH:

在CMake GUI中,点击“Add Entry”按钮。
输入“CMAKE_PREFIX_PATH”作为“Name”。
输入“C:/msys64/mingw64”作为“Value”。
选择“PATH”作为“Type”。
在设置了CMAKE_PREFIX_PATH后,再次尝试配置CMake。

如果问题仍然存在,请告诉我。

madedevupho@mail.com
pacman -S mingw-w64-x86_64-qt5
已经执行完毕
既然您已经安装了mingw-w64-x86_64-qt5,请尝试以下步骤:

在CMake GUI中,删除所有已经设置的路径,然后重新配置。这将确保CMake从头开始查找所有依赖项。

如果问题仍然存在,尝试手动设置CMake中的Qt5路径。这可以通过设置CMake变量CMAKE_PREFIX_PATH来完成。您需要将该变量设置为MSYS2中Qt5的安装路径。这个路径通常是C:/msys64/mingw64。要设置CMAKE_PREFIX_PATH:

在CMake GUI中,点击“Add Entry”按钮。
输入“CMAKE_PREFIX_PATH”作为“Name”。
输入“C:/msys64/mingw64”作为“Value”。
选择“PATH”作为“Type”。
在设置了CMAKE_PREFIX_PATH后,再次尝试配置CMake。

在这里插入图片描述
Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
Using CMake version: 3.26.3
Krita version: 5.2.0-prealpha
Branding selected: Next
FindPythonLibrary: TRUE
Python system site-packages directory: C:\Users\ASUS\AppData\Local\Programs\Python\Python310\Lib\site-packages
Krita site-packages directories for SIP v4: C:/msys64/mingw64/lib/krita-python-libs;
Krita site-packages directories for SIP v5+: C:/msys64/mingw64/Lib/site-packages;
Performing Test CAN_USE_PYTHON_LIBS
Performing Test CAN_USE_PYTHON_LIBS - Success
Could not set up the appstream test. appstreamcli is missing.
Could NOT find GSL (missing: GSL_LIBRARY GSL_CBLAS_LIBRARY) (found version “2.7.1”)
CMake Warning at CMakeLists.txt:831 (find_package):
By not providing “FindKSeExpr.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “KSeExpr”, but
CMake did not find one.

Could not find a package configuration file provided by “KSeExpr”
(requested version 4.0.0.0) with any of the following names:

KSeExprConfig.cmake
kseexpr-config.cmake

Add the installation prefix of “KSeExpr” to CMAKE_PREFIX_PATH or set
“KSeExpr_DIR” to a directory containing one of the above files. If
“KSeExpr” provides a separate development package or SDK, be sure it has
been installed.

CMake Warning at cmake/modules/CheckLibTIFFPSDSupport.cmake:60 (message):
Your version of libtiff cannot read or write Photoshop TIFFs!
Call Stack (most recent call first):
CMakeLists.txt:860 (include)

Could NOT find JPEG (missing: JPEG_LIBRARY) (found version “90”)
Could NOT find libjpeg-turbo (missing: libjpeg-turbo_LIBRARY turbojpeg) (found suitable version “2.1.5.1”, minimum required is “2.1.3”)
Could NOT find GIF (missing: GIF_LIBRARY) (found version “5.1.1”)
Could NOT find HEIF (missing: HEIF_LIBRARY) (found suitable version “1.15.2”, minimum required is “1.11.0”)
Could NOT find JPEGXL (missing: JPEGXL_LIBRARY) (Required is at least version “0.7.0”)
Correctly found FFTW3
Could NOT find OpenColorIO (missing: OPENCOLORIO_LIBRARY) (found suitable version “2.2.1”, minimum required is “1.1.1”)
C:\Users\ASUS\AppData\Local\Programs\Python\Python310\python.exe: can’t find ‘main’ module in ‘C:\msys64\mingw64\lib\cmake\’

C:\Users\ASUS\AppData\Local\Programs\Python\Python310\python.exe: can’t find ‘main’ module in ‘C:\msys64\mingw64\lib\cmake\’

Could NOT find LibMyPaint (missing: LibMyPaint_LIBRARY) (found version “1.6.1”)
Found QtGui OpenGL support
CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find LibExiv2 (missing: LibExiv2_LIBRARIES) (found suitable
version “0.27.6”, minimum required is “0.16”)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindLibExiv2.cmake:78 (find_package_handle_standard_args)
CMakeLists.txt:996 (find_package)

Configuring incomplete, errors occurred!

请在MSYS2终端中执行以下命令来安装这些依赖项:
pacman -S mingw-w64-x86_64-gsl mingw-w64-x86_64-seexpr mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-giflib mingw-w64-x86_64-libheif mingw-w64-x86_64-libjxl mingw-w64-x86_64-opencolorio mingw-w64-x86_64-exiv2

首先,确保MSYS2的环境变量设置正确。在CMake GUI的顶部菜单中,依次选择 “Tools” > “Configure Environment for MinGW Makefiles”。这将自动配置MSYS2和MinGW的环境变量。

在MSYS2终端中运行以下命令来确保安装了所有必需的依赖项:

Copy code
pacman -S mingw-w64-x86_64-gsl mingw-w64-x86_64-seexpr mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-giflib mingw-w64-x86_64-libheif mingw-w64-x86_64-libjxl mingw-w64-x86_64-opencolorio mingw-w64-x86_64-exiv2
重新启动CMake GUI并确保在 “Configure” 时选择 “MinGW Makefiles” 作为生成器。

验证CMake变量 CMAKE_PREFIX_PATH 包含MSYS2的路径。如果没有,请添加以下路径:

bash
Copy code
C:/msys64/mingw64
确保使用您计算机上实际的MSYS2安装路径。

如果仍然遇到问题,请尝试手动设置以下变量,确保它们指向正确的库文件和头文件路径。这些路径应该类似于以下示例(但可能因系统而异):
bash
Copy code
GSL_LIBRARY C:/msys64/mingw64/lib/libgsl.dll.a
GSL_CBLAS_LIBRARY C:/msys64/mingw64/lib/libgslcblas.dll.a
KSeExpr_DIR C:/msys64/mingw64/lib/cmake/KSeExpr
LibExiv2_INCLUDE_DIR C:/msys64/mingw64/include
LibExiv2_LIBRARIES C:/msys64/mingw64/lib/libexiv2.dll.a

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据您提供的错误日志,您的 Krita 构建中遇到了以下问题:

libtiff 版本不支持 Photoshop TIFF 格式。尽管这是一个警告,但它不会阻止构建过程。您可以选择忽略这个问题,或者尝试升级 libtiff 库以获得对 Photoshop TIFF 格式的支持。

LCMS2 库未找到。根据之前的回答,您需要安装 LCMS2 库并确保将 MSYS2 的库路径添加到系统的环境变量中。您可以通过运行以下命令安装 LCMS2:

bash
Copy code
pacman -S mingw-w64-x86_64-lcms2
在添加 MSYS2 的库路径到环境变量后,重新启动 CMake GUI 并再次尝试配置 Krita。

请确保完成这些步骤后重新启动 CMake GUI,以便更改可以生效。如果问题仍然存在,可能需要检查 FindLCMS2.cmake 文件,确保它正在正确查找 LCMS2 库。

pacman -S mingw-w64-x86_64-libunibreak
在这里插入图片描述
在这里插入图片描述
KF5KDcraw E:\krita-dev\i\lib\cmake\KF5KDcraw
在这里插入图片描述
xsimd_DIR E:\work\Krita\krita-deps\deps-install\lib\cmake\xsimd
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

krita windows编译源码 的相关文章

  • Windows 计算机上出现“来自守护程序的错误响应:无法创建填充程序:OCI 运行时创建失败”错误

    我正在尝试构建一个简单的 Python 映像 然后在 Windows 上以交互方式访问容器 构建过程有效 但运行容器失败 这是 Dockerfile FROM python 3 10 4 WORKDIR app 生成文件 IMAGE scr
  • 在 Android SDK 中设置 JAVA_HOME

    我和对方有一些冲突JAVA HOME配置 当我使用以下代码时 System out println System getenv JAVA HOME I get C jdk1 6 0 23这是正确的地方 但是 当我在 Android buil
  • 如何在 NERDTree 中显示隐藏文件(以句点开头)?

    我怎样才能使NERDTree https github com scrooloose nerdtree显示以 a 开头的文件 时期 我有一个名为 hgignore在项目目录中 如果我使用 NERDTree 浏览到该目录 该文件不会显示在树中
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • 使用 IDLE 编辑的 .py 文件消失了

    我曾经有过Edit with IDLE当我右键单击时的选项 py文件 但我多次卸载 重新安装以使某些东西正常工作 但现在它消失了 我检查了注册表HKEY CLASSES ROOT and HKEY LOCAL MACHINE对于价值低于Py
  • Qt 5.1.1 与 Visual Studio 2012 - 这些 QT 版本无法访问

    打开 Visual Studio 时出现此错误 我安装自http qt project org downloads http qt project org downloads 适用于 Windows 64 位的 Qt 5 1 1 VS 20
  • 批处理文件 FOR /f 标记

    任何人都可以逐行准确解释以下代码是如何工作的 我真的迷路了 我一直在尝试学习如何使用 FOR 命令 但我不明白这一点 echo off for f tokens delims f in myfile do set line f call p
  • Windows7上python3.5无法安装BeautifulSoup4

    我已经从下载了 beautifulsoup4 4 5 3 tar gzhttps www crummy com software BeautifulSoup bs4 download 4 5 https www crummy com sof
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • 更改desktop.ini不会在Windows中自动更新文件夹图标

    我使用此批处理脚本将所有文件夹和子文件夹的图标更改为位于文件夹中的 ico 文件 但是 资源管理器中的文件夹图标不会改变除非我手动重命名desktop ini将资源管理器中的文件更改为其他内容 然后返回desktop ini或者例如将字母更
  • Windows 上的 Openssl 错误 0x02001005 和 0x2006D002?

    我正在尝试使用 openssl 将 cer 证书转换为 p12 证书 这是我正在使用的命令 C OpenSSL Win32 bin gt openssl x509 inform der in developer identity cer o
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 由于图形处理单元配置,不支持 Windows Phone 模拟器(Mac 上的 Windows 7)

    启动 Windows Phone 模拟器时出现错误 不支持 Windows Phone 模拟器 因为您的计算机没有所需的图形处理单元配置 如果没有图形处理单元 XNA 框架页面将无法运行 您想继续启动模拟器吗 当我尝试访问网页 任何网页 时
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • 解决文字自动换行,字母、数字不换行问题

    添加css属性word break break all
  • mysql修改root密码的语句

    ALTER USER root localhost IDENTIFIED WITH mysql native password BY 新密码 其中 localhost 字符 有的小伙伴可能遇到过无法通过navicat连接Linux中的MyS
  • 单点登录SSO:可一键运行的完整代码

    单点登录方案不同于一个普通站点 它的部署比较繁琐 涉及到好几个站点 要改host 安装证书 配置HTTPS 看到的不少这方面示例都是基于HTTP的 不认同这种简化 1 它体现不出混合HTTP HTTPS时 单点注销要注意处理的问题 2 做单
  • 【Node.js】下载安装及简单使用

    说起Node js 它是当前市面上非常受欢迎的框架 允许我们使用JavaScript搭建后端应用 它有着种种优点 诸如 非阻塞I O 事件驱动 跨平台 高性能 单线程 等等等等 不过现在我们不必执拗与关心这些优点的含义 当务之急是先上手他
  • conda加速设置

    Conda作为使用最为便捷的python环境管理工具 可以协助我们很方便的下载安装第三方库 软件包等操作 但其在下载资源的过程中速度不言而喻 尤其是在更换国内源的情况下 下载速度没有实质性的改变是很令人头疼的一件事 Mamba 树眼镜蛇 能
  • (tensorflow学习)用Object Detection API实现摄像头实时物体检测

    对于物体识别 谷歌已经有训练好的模型供我们使用 图方便不想自己训练的可以直接使用 说实话 装这个tensorflow真心麻烦 我建议用anaconda环境搭建 还要注意装的话装1 几的版本就可 用gpu跑的话注意显卡型号和版本是否兼容 真是
  • 【C++】内存管理

    目录 一 C C 内存分布 二 C语言中动态内存管理方式 三 C 中动态内存管理 1 开辟空间 2 释放空间 四 operator new与operator delete函数 五 内存泄漏 1 什么是内存泄漏 2 如何避免内存泄漏 总结 一
  • Python的getattr方法

    getattr是Python中的内置函数 用于获取一个对象的属性值 这个函数是动态获取属性的一种方式 特别适用于你事先不知道要获取哪个属性 或者属性名是在运行时确定的情况 使用方法 getattr object name default o
  • 资产安全 错题点

    数据所有者 1 决定谁有权访问信息系统 2 对资产负有最终责任 PS 对资产负有最终责任的 高级管理层 数据所有者 首选管理层 3 行为规则 制定规则 以便用于主体的数据或信息的适当使用及保护 4 决定数据的级别 每年回顾确保数据分级的正确
  • 【国产化踩坑记】openEuler系统安装,nvidia驱动,cuda,anaconda安装步骤记录

    1 openEuler安装步骤 尝试安装了openEuler20 03和22 03两个版本 在摸索的过程中总结了一下步骤 以及相关问题的解决方案 进行简单记录 便于后续使用 1 openEuler20 03安装步骤 网络配置以及可视化操作界
  • Segmentation fault (core dumped) 错误的一种解决场景

    错误类型 Segmentation fault core dumped 产生原因 Segmentation fault 段错误 Core Dump 核心转储 是操作系统在进程收到某些信号而终止运行时 将此时进程地址空间的内容以及有关进程状态
  • Springboot+Axios双token解决token过期续签问题

    后端分离使用token进行登录验证时 由于token存在过期时间 每次token过期都需要用户重新登录的话 用户体验很不友好 假如token能跟session一样 如果用户持续在进行操作 就自动延长有效时间 就可以解决问题 但是 token
  • qt利用腾讯云服务器实现不同局域网的通信(tcp)

    网上大多数关于qt通信的文章都是同一局域网通信 这种根本没有达到自己想象中的那种通信的要求 不同局域网的通信 这里用到的方法是客户端发送消息给服务器 然后服务器再发送给另一个局域网的客户 首先我们需要购买一个腾讯云服务器 并在自己电脑登录腾
  • Python记11(网络传输大文件

    客户端 import socket tqdm os 传输数据分隔符 separator
  • log4j2入门(三) PatternLayout输出格式详解

    摘要 本节介绍Log4j的输出格式的详细说明 1 PatternLayout参数 charset 指定字符集 pattern 指定格式 alwaysWriteExceptions 默认为true 输出异常 header 可选项 包含在每个日
  • connect和bind

    UDP 考虑以下情形 我们使用UDP写一个echo程序 客户端模型 while fget sendto recvfrom 如果服务器进程没有启动会如何 通过截包发现服务器响应一个icmp port unreachable 不过这个ICMP错
  • java: javamail 1.6.2 Create Receive Email using jdk 19

    接收邮件 中文是乱码 未解决 param pop3Host pop 163 com param storeType pop3 param user geovindu 163 com param password geovindu autho
  • 安装DevEco Studio 3.0 Beta2

    引言 鸿蒙应用程序前端 北向开发 的开发环境是华为提供的HUAWEI DevEco Studio DevEco Studio支持Windows和macOS系统 本文记录了DevEco Studio 3 0 Beta2在Windows操作系统
  • 学习笔记 JavaScript ES6 NRM源切换

    NRM npm registry manager 镜像源管理工具 两种切换方式 一 终端里输入如下命令即可切换至淘宝镜像源 mac下测试通过 npm config set registry http registry npm taobao
  • krita windows编译源码

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 krita 二 krita源码编译 1 Windows下编译 1 编译准备 2 相关命令 使用CMake编译krita 重新编译 使用CMkae bash find package Z