0

我最近将我的 gtkmm 框架更新到 4.0.0 版并更新了代码以与框架兼容。我在 Windows 上的 JetBrains CLion 中使用 msys2。但是,当我编译项目时,我在各种框架头文件(如 gtkmm、glibmm 等)中收到大量警告和错误。我找不到可能与我的代码相关的错误。这是我的 Cmake 配置

cmake_minimum_required (VERSION 3.17.5)
set (CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS " -lstdc++fs")
project (Accounter)
find_package(Boost 1.73 COMPONENTS date_time REQUIRED)
FIND_LIBRARY (LIBZIP_LIBRARY NAMES zip)
FIND_PATH (LIBZIP_INCLUDE_DIR zip.h PATH_SUFFIXES include/zip include ) # Find header
INCLUDE(FindPackageHandleStandardArgs)

FIND_PACKAGE(PkgConfig REQUIRED)
pkg_check_modules(GTKMM gtkmm-4.0)
include_directories( ${GTKMM_INCLUDE_DIRS} )
link_directories( ${GTKMM_LIBRARY_DIRS} )
#ADD_DEFINITIONS(${GTK_CFLAGS_OTHER})

FIND_PACKAGE_HANDLE_STANDARD_ARGS(libzip  DEFAULT_MSG  LIBZIP_LIBRARY LIBZIP_INCLUDE_DIR)
link_directories((Accounting))
add_subdirectory(Accounting)
link_directories(OdsFile)
add_subdirectory(OdsFile)
link_directories(GUI)
add_subdirectory(GUI)
if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
    add_executable(Accounter main.cpp)
    target_link_libraries(Accounter LINK_PUBLIC Accounting OdsFile GUI ${Boost_LIBRARIES} ${LIBZIP_LIBRARY} stdc++fs ${GTKMM_LIBRARIES} )
else()
    message( FATAL_ERROR "Boost library is required for this library")
ENDIF(). 

编译日志在此链接下。我错过了 cmake 配置中的某些内容吗?应该怎么编译?如果需要,我将提供其他信息和文件。我认为错误应该在我这边而不是在框架上。

4

0 回答 0