[gelöst] C++ und Pugixml Fehler bei dem Linken

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Rawbit
Beiträge: 720
Registriert: 24.12.2004 13:17:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

[gelöst] C++ und Pugixml Fehler bei dem Linken

Beitrag von Rawbit » 05.01.2022 11:29:06

Hallo Debianforum,

ich möchte mit C++ Pugixml benutzen unter Debian Testing.

Installiert ist:

Code: Alles auswählen

dpkg -l | grep pugi
ii  libpugixml-dev:amd64                                        1.11.4-1                           amd64        Light-weight C++ XML processing library (development)
ii  libpugixml1v5:amd64                                         1.11.4-1                           amd64        Light-weight C++ XML processing library
ii  pugixml-doc                                                 1.11.4-1                           all          Light-weight C++ XML processing library (documentation)
Zum Testen habe ich verwendet:

https://linuxhint.com/parse_xml_in_cpp/

mit Example-2: Parse XML in C++ using PugiXML.

Code: Alles auswählen

#include <iostream>
#include "pugixml.hpp"

using namespace std;
using namespace pugi;

Code: Alles auswählen

locate pugixml.hpp
/usr/include/pugixml.hpp

Das Linken mit

Code: Alles auswählen

g++ -o pugi.bin  pugi.o
ergibt Fehler:

Code: Alles auswählen

/usr/bin/ld: pugi.o: in function `main':
pugi.cpp:(.text+0x30): undefined reference to `pugi::xml_document::xml_document()'
/usr/bin/ld: pugi.cpp:(.text+0x55): undefined reference to `pugi::xml_document::load_file(char const*, unsigned int, pugi::xml_encoding)'
/usr/bin/ld: pugi.cpp:(.text+0x61): undefined reference to `pugi::xml_parse_result::operator bool() const'
/usr/bin/ld: pugi.cpp:(.text+0x8b): undefined reference to `pugi::xml_node::child(char const*) const'
/usr/bin/ld: pugi.cpp:(.text+0xa5): undefined reference to `pugi::xml_node::child(char const*) const'

.....
Bedeutet das, das "pugixml.hpp" nicht gefunden wird?

Danke!

Gruß
Rawbit
Zuletzt geändert von Rawbit am 05.01.2022 11:44:37, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11604
Registriert: 25.09.2007 19:59:30

Re: C++ und Pugixml Fehler bei dem Linken

Beitrag von MSfree » 05.01.2022 11:39:46

Rawbit hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 11:29:06

Code: Alles auswählen

g++ -o pugi.bin  pugi.o
ergibt Fehler:
Das sind Linkerfehler, haben also nicht damit zu tun, daß pugixml.hpp nicht gefunden wird.
Dem Linker mußt du noch die fehlende Bibliothek mitgeben, in diesem Fall mußt dem dem Linker halt sagen, daß er die libpugixml.so mit in dein Executable einlinken soll:

Code: Alles auswählen

g++ -o pugi.bin pugi.o -lpugixml

Benutzeravatar
Rawbit
Beiträge: 720
Registriert: 24.12.2004 13:17:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: C++ und Pugixml Fehler bei dem Linken

Beitrag von Rawbit » 05.01.2022 11:44:16

Super, klappt!

Vielen Dank!


Gruß

Rawbit

Antworten