Тема: Проблеми при додаванні хедерів бібліотеки Freetype
Намагаюся додати до свого проєкту бібліотеку Freetype за допомогою CMake:
cmake_minimum_required(VERSION 3.10)
project(font_extractor
VERSION 1.0.0
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20 )
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_COLOR_DIAGNOSTICS ON)
find_package(freetype)
include_directories(${FREETYPE_INCLUDE_DIRS})
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} freetype)
# Цією командою можна зручно встановити бажаний стандарт [c++17, c++20, c++23]
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20)
# Цією командою можна легко додати дефайни, можна вписувати їх на місці
#target_compile_definitions(${PROJECT_NAME} PUBLIC _GLIBCXX_DEBUG)
# Цією командою виставляємо прапорці компілятору
target_compile_options(${PROJECT_NAME}
PUBLIC -Wall
-Wextra
-Wpedantic
-fsanitize=address,undefined,leak
-march=native
-fno-omit-frame-pointer
-shared
-fpic
-o0
-ggdb3
-Wconversion
-Wl,-z,noexecstack
-fstack-protector-strong
-fno-common
)
# Цією командою виставляємо прапорці лінкеру
target_link_options(${PROJECT_NAME}
PUBLIC
-fsanitize=address,undefined,leak
-g3
-fno-omit-frame-pointer
-fno-common
)
if(CMAKE_CXX_COMPILER_LOADED)
message(STATUS "Compiler path: ${CMAKE_CXX_COMPILER}")
message(STATUS "Compiler ID: ${CMAKE_CXX_COMPILER_ID}")
message(STATUS "Compiler version:
${CMAKE_CXX_COMPILER_VERSION}")
endif()
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${PROJECT_NAME}
)
include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
Додаю хедери ось так:
#include <freetype2/ft2build.h>
#include <freetype2/freetype/freetype.h>
Але все одно не працює, видає помилку: In included file: 'ft2build.h' file not found [pp_file_not_found] .
У документації написано, що має бути ось так:
#include <ft2build.h>
#include FT_FREETYPE_H
Якщо так зробити, то все одно не бачить ft2build.h.
Вивід pkg-config --cflags freetype2 ось такий:
-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -pthread
OS Manjaro.
Не розумію, що тут ще можна зробити, щоб запрацювало.