系列文章目录
文章目录
前言
我在windows10下,使用CMake gui 编译krita源码
where is the source code:E:/krita-dev/krita
where to build the binaries:E:/krita-dev/krita_camke
current generator:MinGW Makefiles
分别点击Configure、Generate,输出:
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:
Krita site-packages directories for SIP v5+:
Performing Test CAN_USE_PYTHON_LIBS
Performing Test CAN_USE_PYTHON_LIBS - Success
Could not set up the appstream test. appstreamcli is missing.
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:859 (include)
Found HEIF
Found OpenJPEG
Correctly found FFTW3
Traceback (most recent call last):
File “E:\krita-dev\krita\cmake\modules\FindSIP.py”, line 18, in
ModuleNotFoundError: No module named ‘sipbuild’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “E:\krita-dev\krita\cmake\modules\FindSIP.py”, line 28, in
ModuleNotFoundError: No module named ‘sipconfig’
Traceback (most recent call last):
File “E:\krita-dev\krita\cmake\modules\FindPyQt5.py”, line 22, in
ModuleNotFoundError: No module named ‘PyQt5’
Found LibMyPaint 1.6.1
Found QtGui OpenGL support
Found LittleCMS’s fast float plugin
Could NOT find xsimd (Required is at least version “8.1.0”), checked the following files:
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
Could NOT find xsimd (Required is at least version “9”), checked the following files:
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
Could NOT find xsimd (Required is at least version “10”), checked the following files:
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
C:/msys64/mingw64/lib/cmake/xsimd/xsimdConfig.cmake (version 11.0.0)
Poppler: Qt5 requires Core
Found the following HarfBuzz libraries:
HarfBuzz (required): C:/msys64/mingw64/lib/libharfbuzz.dll.a
Broken tests:
* libs-flake-TestPointMergeCommand
* libs-flake-TestSvgText
* libs-flake-TestSvgTextCloned
* libs-flake-TestSvgTextRoundTrip
* libs-image-kis_transform_mask_test
* libs-image-kis_perspective_transform_worker_test
* libs-ui-KisPaintingAssistantsDecorationTest
* libs-ui-KisClipboardTest
* libs-ui-FreehandStrokeTest
* libs-ui-FreehandStrokeBenchmark
* libs-ui-KisPaintOnTransparencyMaskTest
* libs-ui-FillProcessingVisitorTest
* libs-ui-FilterStrokeTest
* libs-ui-KisSelectionManagerTest
* libs-ui-KisNodeManagerTest
* libs-ui-KisZoomAndPanTest
* libs-ui-KisActionManagerTest
* libs-ui-KisCategoriesMapperTest
* krita-filters-kis_all_filter_test
* krita-filters-kis_crash_filter_test
* plugins-impex-kis_png_test
* plugins-impex-kis_csv_test
* plugins-impex-KisSvgTest
* plugins-metadata-KisExifTest
* plugins-libpaintop-kis_linked_pattern_manager_test
* plugins-defaultpaintops-KisBrushOpTest
* plugins-tools-basictools-MoveStrokeTest
The following features have been enabled:
-
Dr. Mingw, Enable the Dr. Mingw crash handler
-
Linker Security Flags, Enable DEP (NX), ASLR and high-entropy ASLR linker flags
-
Hide safe asserts, Don’t show message box for “safe” asserts, just ignore them automatically and dump a message to the terminal.
-
Lock free hash table, Use lock free hash table instead of blocking.
-
Enable Broken Tests, Runs broken test when “make test” is invoked (use -DKRITA_ENABLE_BROKEN_TESTS=ON to enable).
-
Limit long tests, Run long running unittests in a limited quick mode
-
Enable updaters, Enable updaters/update notifications.
-
Precompiled Headers, precompiled headers make build process faster on some systems
-
Use Qt’s Windows Tablet Support, Do not use Krita’s forked Wintab and Windows Ink support on Windows, but leave everything to Qt.
– The following OPTIONAL packages have been found:
-
PythonLibrary (required version >= 3.8), Python Library,
https://www.python.org
Required by the Krita PyQt plugin
-
Qt5Multimedia (required version >= 5.12.0), Qt multimedia integration,
https://www.qt.io/
Optionally used to provide sound support for animations
-
Qt5Qml (required version >= 5.15.9)
-
Qt5QmlModels (required version >= 5.15.9)
-
Qt5Quick (required version >= 5.12.0), QtQuick,
https://www.qt.io/
Optionally used for the touch gui for Krita
-
Qt5QuickWidgets (required version >= 5.12.0), QtQuickWidgets,
https://www.qt.io/
Optionally used for the touch gui for Krita
-
WebP (required version >= 1.2.0),
https://developers.google.com/speed/webp
Required by the WebP plugin
-
KSeExpr (required version >= 4.0.0.0),
https://invent.kde.org/graphics/kseexpr
Required by the SeExpr generator layer
-
OpenEXR, A library for handling OpenEXR high dynamic-range image files,
https://www.openexr.com/
-
JPEG, Free library for JPEG image compression. Note that libjpeg8 is NOT supported.,
https://www.libjpeg-turbo.org
Required by the Krita JPEG filter
-
libjpeg-turbo (required version >= 2.1.3), libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, AVX2, Neon, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, Arm, and PowerPC systems, as well as progressive JPEG compression on x86 and x86-64 systems.,
https://www.libjpeg-turbo.org
Required by the Krita JPEG and TIFF filters
-
GIF, Library for loading and saving gif files.,
http://giflib.sourceforge.net/
Required by the Krita GIF filter
-
HEIF (required version >= 1.11.0), Library for loading and saving heif files.,
https://github.com/strukturag/libheif
Required by the Krita HEIF filter
-
OpenJPEG (required version >= 2.3.0), Library for loading and saving jp2000 files.,
https://www.openjpeg.org/
Required by the Krita JP2000 filter
-
JPEGXL (required version >= 0.7.0), JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression and is experimentally supported by Chrome, Firefox, and Edge.,
https://github.com/libjxl/libjxl
Required by the Krita JPEG-XL filter
-
FFTW3, A fast, free C FFT library,
http://www.fftw.org/
Required by the Krita for fast convolution operators and some G’Mic features
-
OpenColorIO (required version >= 1.1.1), The OpenColorIO Library,
https://www.opencolorio.org
Required by the Krita LUT docker
-
LibMyPaint, MyPaint brush engine API for C/C++
Required for the mypaint brush engine
-
Poppler, A PDF rendering library,
https://poppler.freedesktop.org/
Required by the Krita PDF filter.
-
KF5KDcraw (required version >= 5.0.0), A thread-safe wrapper around libraw,
https://api.kde.org/libkdcraw/html/index.html
Needed for reading RAW files
-
IcoTool, Executable that converts a collection of PNG files into a Windows icon file,
https://www.nongnu.org/icoutils/
– The following RECOMMENDED packages have been found:
– The following REQUIRED packages have been found:
-
Python (required version >= 3.8)
-
ECM (required version >= 5.22)
-
KF5Config (required version >= 5.44.0)
-
KF5WidgetsAddons (required version >= 5.44.0)
-
KF5Completion (required version >= 5.44.0)
-
KF5CoreAddons (required version >= 5.44.0)
-
KF5GuiAddons (required version >= 5.44.0)
-
KF5ItemModels (required version >= 5.44.0)
-
KF5ItemViews (required version >= 5.44.0)
-
KF5WindowSystem (required version >= 5.44.0)
-
KF5 (required version >= 5.44.0)
-
Qt5Widgets
-
Qt5Xml
-
Qt5Network
-
Qt5PrintSupport
-
Qt5Svg
-
Qt5Test
-
Qt5Concurrent
-
Qt5Sql
-
PNG
-
boost_headers (required version == 1.81.0)
-
boost_system (required version == 1.81.0)
-
Boost (required version >= 1.65), Boost provides free peer-reviewed portable C++ source libraries.,
https://www.boost.org
-
Immer
-
Zug
-
Lager
-
ZLIB, Compression library,
https://www.zlib.net/
Required by Krita’s PNG and PSD support
-
TIFF, TIFF Library and Utilities,
http://www.libtiff.org
Required by the Krita TIFF filter
-
Eigen3 (required version >= 3.3), C++ template library for linear algebra,
http://eigen.tuxfamily.org
-
LibExiv2 (required version >= 0.16), Image metadata support,
http://www.exiv2.org
-
LCMS2 (required version >= 2.4), LittleCMS Color management engine,
http://www.littlecms.com
Will be used for color management and is necessary for Krita
-
Qt5
-
QUAZIP (required version >= 0.6), A library for reading and writing zip files,
https://stachenov.github.io/quazip/
Needed for reading and writing KRA and ORA files
-
Qt5Gui (required version >= 5.15.0)
-
Freetype (required version >= 2.10.0), A library for rendering glyphs,
https://download.savannah.gnu.org/releases/freetype
Needed for rendering text vector shapes.
-
HarfBuzz (required version >= 4.0.0), OpenType text shaping engine,
https://harfbuzz.github.io
Needed for rendering text vector shapes.
-
Raqm (required version >= 0.10.0), Raqm is a small library that encapsulates the logic for complex text layout and provides a convenient API.,
https://github.com/HOST-Oman/libraqm
Needed for rendering text vector shapes.
-
Fontconfig (required version >= 2.13.1)
Needed for getting font file information.
-
libunibreak (required version >= 5.0), Implementation of the line breaking and word breaking algorithms as described in Unicode Standard Annex 14 and Unicode Standard Annex 29,
https://github.com/adah1972/libunibreak
Needed for rendering text vector shapes.
-
Qt5Core (required version >= 5.15.2)
-
Gettext
-
KF5I18n
-
Threads
– The following features have been disabled:
-
Install benchmarks, Install benchmarks into the installation root to make them packagable
-
Crash on safe asserts, Crash unconditionally whenever a “safe” assert happens. Useful for running unittests
-
Foundation Build, A Foundation build is a binary release build that can package some extra things like color themes. Linux distributions that build and install Krita into a default system location should not define this option to true.
-
Build Qt Designer plugins, Builds Qt Designer plugins for Krita widgets (use -DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON to enable).
-
ASAN address sanitizer, crash Krita if it violates address access rules (-DECM_ENABLE_SANITIZERS=address)
– The following OPTIONAL packages have not been found:
Configuring done (6.1s)
CMake Warning at plugins/color/lcms2engine/CMakeLists.txt:84 (target_link_libraries):
Target “kritalcmsengine” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
CMake Warning at cmake/modules/KritaAddBrokenUnitTest.cmake:61 (target_link_libraries):
Target “TestKoLcmsColorProfile” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
Call Stack (most recent call first):
cmake/modules/KritaAddBrokenUnitTest.cmake:95 (KRITA_ADD_UNIT_TEST)
cmake/modules/KritaAddBrokenUnitTest.cmake:145 (KRITA_ADD_UNIT_TESTS)
plugins/color/lcms2engine/tests/CMakeLists.txt:8 (kis_add_tests)
CMake Warning at cmake/modules/KritaAddBrokenUnitTest.cmake:61 (target_link_libraries):
Target “TestColorSpaceRegistry” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
Call Stack (most recent call first):
cmake/modules/KritaAddBrokenUnitTest.cmake:95 (KRITA_ADD_UNIT_TEST)
cmake/modules/KritaAddBrokenUnitTest.cmake:145 (KRITA_ADD_UNIT_TESTS)
plugins/color/lcms2engine/tests/CMakeLists.txt:8 (kis_add_tests)
CMake Warning at cmake/modules/KritaAddBrokenUnitTest.cmake:61 (target_link_libraries):
Target “TestLcmsRGBP2020PQColorSpace” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
Call Stack (most recent call first):
cmake/modules/KritaAddBrokenUnitTest.cmake:95 (KRITA_ADD_UNIT_TEST)
cmake/modules/KritaAddBrokenUnitTest.cmake:145 (KRITA_ADD_UNIT_TESTS)
plugins/color/lcms2engine/tests/CMakeLists.txt:8 (kis_add_tests)
CMake Warning at cmake/modules/KritaAddBrokenUnitTest.cmake:61 (target_link_libraries):
Target “TestProfileGeneration” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
Call Stack (most recent call first):
cmake/modules/KritaAddBrokenUnitTest.cmake:95 (KRITA_ADD_UNIT_TEST)
cmake/modules/KritaAddBrokenUnitTest.cmake:145 (KRITA_ADD_UNIT_TESTS)
plugins/color/lcms2engine/tests/CMakeLists.txt:8 (kis_add_tests)
CMake Warning at plugins/impex/jpeg/CMakeLists.txt:27 (target_link_libraries):
Target “kritajpegimport” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
CMake Warning at plugins/impex/jpeg/CMakeLists.txt:40 (target_link_libraries):
Target “kritajpegexport” requests linking to directory
“C:/msys64/mingw64/”. Targets may link only to libraries. CMake is
dropping the item.
Generating done (55.6s)
一、原因
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、解决
1.引入库
看起来在编译 Krita 源代码时找不到 LibMyPaint 库。要解决这个问题,请按照以下步骤操作:
确保您已经安装了 LibMyPaint。如果尚未安装,请访问
LibMyPaint GitHub
页面 并按照说明进行安装。
在 CMake GUI 中,单击 “Add Entry”,然后添加以下信息:
Name: LibMyPaint_DIR
Type: PATH
Value: (将其替换为 LibMyPaint 安装目录的路径)
如果您已经安装了 LibMyPaint,但是在编译 Krita 时仍然收到这个错误,请尝试在您的系统环境变量中添加 LibMyPaint 的路径。例如,将以下路径添加到 PATH 环境变量中(根据您的实际安装位置进行调整):
/bin
/lib
在 CMake GUI 中单击 “Configure”,然后单击 “Generate” 以重新生成构建文件。
## 在 Windows 10 下安装 LibMyPaint 的方法如下:
首先,确保您已经安装了以下依赖项:
MSYS2:用于提供编译环境和一些必需的工具。
MinGW-w64:用于提供编译器和链接器。
打开 MSYS2 MinGW 64-bit 终端(请确保使用 MinGW-w64 终端,而不是普通的 MSYS2 终端)。
更新 MSYS2 和安装所需的依赖包:
Copy code
pacman -Syu
pacman -S git make mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-gobject-introspection mingw-w64-x86_64-json-c
克隆 LibMyPaint 的源代码:
Copy code
git clone https://github.com/mypaint/libmypaint.git
进入源代码目录并创建一个构建目录:
Copy code
cd libmypaint
mkdir build
cd build
使用 Meson 配置构建目录:
Copy code
meson ..
使用 Ninja 编译和安装 LibMyPaint:
Copy code
ninja
ninja install
安装完成后,将以下路径添加到您的 PATH 环境变量中(根据您的实际安装位置进行调整):
<path-to-msys2>/mingw64/bin
<path-to-msys2>/mingw64/lib
现在,LibMyPaint 已经成功安装在您的 Windows 10 系统中。接下来,您可以按照之前提到的步骤设置 CMake 以编译 Krita 源代码。
`提示:这里对文章进行总结:`
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。