es wird keine .lib Datei erstellt



  • Hallo ich nutze windows und möchte bibliothken einbinden jetzt habe ich gelernt das der compiler nach .lib dateien sucht um diese dann einzubinden.

    Ich nutze Cmake um den buildprozess durchführen zu können. Allerdings wenn ich cmake nutze mit dem ninja generator wird keine .lib datei erzeugt und somit kann auch nicht die nötige headerdatei gefunden werden wie kann ich das problem lösen ich nutzr msys64 als terminal



  • @liveyourproject sagte in es wird keine .lib Datei erstellt:

    Ich nutze Cmake um den buildprozess durchführen zu können. Allerdings wenn ich cmake nutze mit dem ninja generator wird keine .lib datei erzeugt und somit kann auch nicht die nötige headerdatei gefunden werden wie kann ich das problem lösen ich nutzr msys64 als terminal

    Wird eventuell eine .a-Datei erstellt? Du nennst zwar keinen Compiler, aber msys64 klingt schon sehr nach einem Compiler, der die MingW-Runtime verwendet. Nur MSVC und Clang im MSVC-Modus erzeugen .lib-Dateien, GCC und Clang im MinGW-Modus erzeugen .a-Dateien.

    Ansonsten wären ein paar mehr Details hilfreich, wie um welche Bibliothek es sich handelt, wie du die baust und welchen Compiler du verwendest.



  • The CXX compiler identification is GNU 13.2.0

    die sache ist die ich glaube ich habe noch einige verwirrungen wenn ich in msys64 mit cmake den prozess starte nutze ich anscheinend den GNU compiler. Ich habe aber irgendwie das gefühl das ich in VSC was anderes nutze es verwirrt mich irgendwie. jedenfalls wird mir in VSC angzeigt das der include pfad gefunden werden kann aber in msys64 kann ich erfolgreich bauen mit cmake und ninja aber nicht in VSC



  • in VSC verwende ich GCC 13.2.0 x86_64-w64-mingw32(mingw64) aber die #include datei kann nicht gefunden werden



  • @liveyourproject sagte in es wird keine .lib Datei erstellt:

    The CXX compiler identification is GNU 13.2.0

    die sache ist die ich glaube ich habe noch einige verwirrungen wenn ich in msys64 mit cmake den prozess starte nutze ich anscheinend den GNU compiler. Ich habe aber irgendwie das gefühl das ich in VSC was anderes nutze es verwirrt mich irgendwie. jedenfalls wird mir in VSC angzeigt das der include pfad gefunden werden kann aber in msys64 kann ich erfolgreich bauen mit cmake und ninja aber nicht in VSC

    Meist du Visual Studio mit VSC? Dort wirst du keine Mit GCC (GNU Compier) erstellen statischen Bibliotheken (.lib/.a) verwenden können (bestenfalls mit Clang als "Toolset" aber das habe ich noch nicht probiert). Mit dynamischen Bibliotheken (.dll) ginge das, aber hier hat man dann das Problem, dass die dafür notwendigen Importbibliotheken ebenfalls unterschiedliche Formate haben (auch wieder .lib/.a)

    Am besten du kompilierst alles mit dem selben Compiler. CMake kann auch Visual Studio Projekte generieren.



  • Ich nutze VSC also Visual Studio Code und wollte über cmake die poppler bibliothek einbinden aber er kann einfach die #includes nicht finden zumindes wird mir das über VSC also Visual Studio Code angezeigt also ich kann auch nicht copmpilieren ohne fehler


Anmelden zum Antworten