Libraries installieren unter Windows



  • Hallo zusammen,

    ich bin gerade dabei C++ zu lernen und bin der Meinung, dass man eine Programmiersprache prinzipiell leichter lernen kann, wenn man nicht nur Übungsprogramme schreibt, wie man sie häufig im Internet findet, sondern wenn man eine Anwendung schreibt, mit der man auch etwas Sinnvolles anfangen kann. Daher möchte ich eine Anwendung schreiben, die mir eine xml-Datei einliest und in ein anderes Format (aber wieder eine xml-Datei) konvertiert. Ich stoße jedoch schon an meine Grenzen, weil ich es nicht schaffe, C++-Libraries zu installieren. Ich bräuchte allerdings eine Library, die einen xml-Parser enthält. Ich habe es zuerst mit xercesc versucht, was aber nicht so richtig funktioniert hat (siehe https://www.c-plusplus.net/forum/345014).

    Jetzt habe ich es mit libxml2 versucht, das funktioniert aber leider auch nicht, obwohl ich Schritt für Schritt der Installationsanleitung folge.

    Daher meine Frage: Gibt es irgendwo generelle Anleitungen, wie man Libraries installiert, ohne zu tief in die Materie einsteigen zu müssen (evtl. auch Bücher)?

    Um etwas konkreter zu werden, möchte ich im Folgenden erklären, wie ich versucht habe, libxml2 (Version 2.9.7) versucht habe zu installieren. Vllt. mache ich irgendeinen offentsichtlichen Fehler, den ich aber übersehe.

    Ich verwende Windows 10 (64 Bit) mit dem MinGW-Compiler.

    1. Ich lade mir von ftp://xmlsoft.org/libxml2/ die Datei libxml2-2.9.7.tar.gz herunter und entpacke sie.

    2. In der Readme steht folgendes:

    To build on Windows: see instructions on win32/Readme.txt

    3. In dieser Datei heißt es wiederum, dass ich die Quellen konfigurieren muss. In der Readme.txt ist hierfür folgendes Beispiel angegeben.

    cscript configure.js compiler=msvc prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes
    

    Ich habe die Verzeichnisse C:\opt, C:\opt\include und C:\opt\lib bei mir angelegt und führe folgenden Befehl aus, nachdem ich ins Verzeichnis gewechselt bin, in dem auch die Readme liegt:

    cscript configure.js compiler=MinGW prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes
    

    Das liefert folgende Ausgabe:

    Microsoft (R) Windows Script Host, Version 5.812
    Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    libxml2 version: 2.9.7
    Created Makefile.
    Created config.h.

    XML processor configuration
    ---------------------------
    Trio: no
    Thread safety: native
    FTP client: yes
    HTTP client: yes
    HTML processor: yes
    C14N support: yes
    Catalog support: yes
    DocBook support: yes
    XPath support: yes
    XPointer support: yes
    XInclude support: yes
    iconv support: yes
    icu support: no
    iso8859x support: no
    zlib support: no
    lzma support: no
    Debugging module: yes
    Memory debugging: no
    Runtime debugging: no
    Regexp support: yes
    Module support: yes
    Tree support: yes
    Reader support: yes
    Writer support: yes
    Walker support: yes
    Pattern support: yes
    Push support: yes
    Validation support: yes
    SAX1 support: yes
    Legacy support: yes
    Output support: yes
    XML Schema support: yes
    Schematron support: yes
    Python bindings: no

    Win32 build configuration
    -------------------------
    Compiler: MinGW
    Debug symbols: yes
    Static xmllint: no
    Install prefix: c:\opt
    Put tools in: $(PREFIX)\bin
    Put headers in: $(PREFIX)\include
    Put static libs in: $(PREFIX)\lib
    Put shared libs in: $(PREFIX)\bin
    Include path: c:\opt\include
    Lib path: c:\opt\lib

    4. Anschließend versuche ich, die Quellen zu kompilieren. Ich öffne dazu die Datei C:\MinGW\msys\1.0\msys.bat als Administrator und welchsel ins Verzeichnis, in dem die Readme liegt. Anschließend führe ich folgenden Befehl aus:

    make -f Makefile.mingw
    

    Das schlägt aber mit folgender Ausgabe fehl:

    Makefile.mingw:19: .\config.mingw: No such file or directory
    make: *** No rule to make target '.\config.mingw'. Stop.

    Soweit ich das beurteilen kann, hätte beim Konfigurieren die Datei config.mingw angelegt werden sollen, aber die Datei existiert nicht. Stattdessen liegt dort die Datei "config.msvc".

    Ich bin wie immer über jede Hilfe dankbar 👍



  • Vielleicht wären ja doch zuerst ein paar kleine (funktionierende) Übungsbeispiele hilfreich. Der Vorteil ist nämlich der, dass man sich allein auf Sprachfeinheiten bzw. Installationsfeinheiten konzentrieren kann. Die gröbsten Werkzeugeinstellungs- und Werkzeugnutzungs-Einstiegsschwierigkeiten werden so nach und nach schrittweise abgebaut.



  • Dieser Thread wurde von Moderator/in nachtfeuer aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Dieser Thread wurde von Moderator/in nachtfeuer aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Sorry, dass mein Beitrag (wieder) im falschen Bereich gelandet ist.

    Vielleicht wären ja doch zuerst ein paar kleine (funktionierende) Übungsbeispiele hilfreich.

    Ich habe bereits ein Einführungsbuch zu C++ durchgearbeitet und auch selbst schon etwas herum experimentiert, z. B. eine Klasse zum Rechnen mit komplexen Zahlen geschrieben.



  • Nimm für XML pugixml. Welche IDE nutzt du?



  • Nimm für XML pugixml. Welche IDE nutzt du?

    Ich verwende Eclipse Helios.

    Danke für deinen Hinweis auf pugixml. Die Installation von pugixml hat problemlos funktioniert. Ich habe dazu pugixml zuerst mit cmake konfiguriert und erzeugt und anschließend mit MinGW die Library erzeugt. Danach die erzeugte Library libpugixml.a und den include-Pfad in den Projekt-Optionen gesetzt und es läuft 🙂

    Warum bei mir die Installation anderer Libraries immer Probleme bereitet, kann ich jedoch noch nicht nachvollziehen. Evtl. fehlt mir hierfür wirklich noch Basiswissen.



  • Scurra schrieb:

    Warum bei mir die Installation anderer Libraries immer Probleme bereitet, kann ich jedoch noch nicht nachvollziehen. Evtl. fehlt mir hierfür wirklich noch Basiswissen.

    Tjo. Am besten immer schön nach Struppis "Keep it simple" Motto verfahren, und alles was sich nicht daran hält LÖSCHEN. 😃


Log in to reply