#include
#include
// # foo.ini
// [main]
// activated="yes"
//
// [foo]
// foo="hello"
// bar=true
// zar=1234
// deps=foo;bar;tar
int main(void)
{
Glib::KeyFile keyfile;
keyfile.load_from_file("foo.ini");
try {
keyfile.get_string("foo", "bad");
} catch (const Glib::Error& e) {
std::cerr
двоичный файл связан с Glibmm-2.4 Abi, реальная версия-Glibmm-2.66 (из репозиториев Archlinux) < /p>
➜ cpplab ldd build/Debug/cpplab | grep glibmm
libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0x00007d0e87510000)
https://archlinux.org/packages/extra/x86_64/glibmm/
Я действительно не могу понять, что происходит, конвертеррор расширяет Gerror (как и все другие исключения Glibmm). Мне нужно запечатлеть эти исключения, потому что информация .What () полезна, а ошибка: завершение называется после того, как выбросил экземпляр «Glib :: ConverterRor '< /code> полностью бессмысленна как сообщение об ошибке < /p>
для воспроизведения проблемы: < /p>
- Запустить Build/cpplab
cmake_minimum_required(VERSION 3.10..4.0)
project(cpplab CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_compile_options(-Wall)
add_executable(cpplab src/main.cpp)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIBMM REQUIRED glibmm-2.4)
target_include_directories(cpplab PRIVATE ${GLIBMM_INCLUDE_DIRS})
target_link_libraries(cpplab
PRIVATE
${GLIBMM_LIBRARIES}
)
Подробнее здесь: https://stackoverflow.com/questions/797 ... glibmm-2-4
Мобильная версия