krita运行源码

系列文章目录

前言

终于在CMake gui里面生成krita.sln工程,使用visual studio 2019打开,还没有编译完成,就报了几万个错
在这里插入图片描述

一、报错原因

从提供的错误日志来看,问题可能是由于编译器的混淆引起的。您正在使用 MSYS2 的 MinGW64 环境中的头文件与 Microsoft Visual Studio 编译器混合使用,这可能导致兼容性问题。

解决此问题的方法之一是确保您的 CMake 配置正在使用正确的编译器和头文件。在 CMake GUI 中,检查以下变量:

CMAKE_C_COMPILER:此变量应指向 Microsoft Visual Studio 的 C 编译器(如 cl.exe)。
CMAKE_CXX_COMPILER:此变量应指向 Microsoft Visual Studio 的 C++ 编译器(如 cl.exe)。
CMAKE_PREFIX_PATH:确保此变量中不存在 MSYS2 或 MinGW 的路径。
在更改这些变量后,重新配置和生成项目文件,然后尝试再次编译。

另一种方法是使用 MSYS2 的 MinGW64 环境中的 GCC 编译器。要使用 GCC,您需要在 MSYS2 中运行 CMake,而不是使用 CMake GUI。首先,打开 MSYS2 MinGW64 终端,然后创建一个新的构建目录并进入该目录:
在这里插入图片描述

二、使用msys64 mingw64编译krita源码

使用msys64 mingw64终端
在MSYS2/MinGW64终端上,Zug库可能没有提供预编译的包。但你可以通过从源代码构建和安装Zug库来手动安装。请按照以下步骤操作:

打开MSYS2/MinGW64终端。

使用以下命令克隆Zug库的Git仓库:

bash
Copy code
git clone https://github.com/arximboldi/zug.git
转到克隆的Zug库目录:
bash
Copy code
cd zug
创建一个构建目录并进入该目录:
bash
Copy code
mkdir build && cd build
使用CMake配置Zug库的构建:
bash
Copy code
cmake … -G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=/mingw64
这里,我们使用-DCMAKE_INSTALL_PREFIX=/mingw64参数指定安装目录,以便Zug库被安装到MSYS2/MinGW64的默认搜索路径中。

构建和安装Zug库:
go
Copy code
make && make install
确保Zug库已被正确安装。你可以检查/mingw64/lib和/mingw64/include目录中是否包含相应的Zug库文件。
现在,你应该可以重新尝试编译Krita。如果你仍然遇到问题,请确保PKG_CONFIG_PATH环境变量包含Zug库的安装路径。

抱歉,我在之前的回答中未能明确说明。你不应该直接在终端中输入那些内容。你需要编辑 /etc/pacman.conf 文件,然后将 [mingw64] 和 Include = /etc/pacman.d/mirrorlist.mingw64 这两行添加到文件中。请按照以下步骤操作:

在 MSYS2 终端中,输入以下命令以使用 nano 文本编辑器打开 pacman.conf 文件(你也可以使用你喜欢的其他文本编辑器):
bash
Copy code
nano /etc/pacman.conf
在打开的文件中找到 [mingw64] 这一行。如果没有找到,那么将以下两行添加到文件末尾:
javascript
Copy code
[mingw64]
Include = /etc/pacman.d/mirrorlist.mingw64
按下 Ctrl + X,然后按 Y,最后按 Enter 保存更改并退出 nano 编辑器。

更新软件仓库列表:

Copy code
pacman -Syy
重新尝试安装 mingw-w64-x86_64-kdcraw 包:
Copy code
pacman -S mingw-w64-x86_64-kdcraw

。对于 LibRaw,它使用 Autotools 而非 CMake 进行构建。请按照以下步骤操作:

首先,确保已安装所需的依赖项。在 MSYS2 MINGW64 终端中运行以下命令:
bash
Copy code
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
返回到 LibRaw 源代码文件夹:
bash
Copy code
cd /e/krita-dev/krita/LibRaw
运行 autoreconf 以生成构建脚本:
bash
Copy code
autoreconf --install
配置并构建项目:
bash
Copy code
./configure --prefix=/mingw64
make
安装构建的库:
bash
Copy code
make install
现在,LibRaw(kdcraw)已安装在您的系统上。接下来,您可以根据需要使用它。注意:在使用 LibRaw 的项目中,您可能需要配置项目以链接到此库。请参阅相关项目的文档以获取详细信息。

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

猜你喜欢

转载自blog.csdn.net/aoxuestudy/article/details/130068956