Warum kann ich die GLIB :: Fehlerausnahme in glibmm-2.4 nicht erfassen?C++

Programme in C++. Entwicklerforum
Anonymous
 Warum kann ich die GLIB :: Fehlerausnahme in glibmm-2.4 nicht erfassen?

Post by Anonymous »

Ich habe dieses Stück Code < /p>

Code: Select all

#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 
Das binäre ist mit glibmm-2.4 abi verknüpft, die reale Version ist glibmm-2.66 (aus Archlinuxs Repositories) < /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/
Ich kann wirklich nicht verstehen, was passiert, Converterror erweitert Gerror (wie alle anderen Glibmm -Ausnahmen). I need to capture that exceptions because the .what() information is useful, while Error: terminate called after throwing an instance of 'Glib::ConvertError' is completely pointless as error message

To reproduce the problem:
  • Install glibmm pacman -S GLIBMM
  • Erstellen Sie die Hauptdatei unter src/main.cpp und foo.ini (die Quelle in als Kommentar in main.cpp)
  • Erstellen Sie CMakelists.txt wie unten
  • cmak -src -build/&& cmak -bu -build -lrc -bu Build/&& cmak - - - - -bu -build -build -lrc -bu Build/&& cmak - - - -bu -build -bui> < /> Build/CPPLAB
CMakelists.txt

Code: Select all

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}
)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post