Probleme beim Linken via remote mit Visual Studio



  • Hallo,

    ich finde einfach keine Lösung für mein Problem beim Linken. Ich schreibe an einem Projekt, welches auf Windows und Linux gleichermaßen laufen soll. Ich nutze Visual Studio 2019. Kompilieren via remote funktioniert, linken geht schief.

    Ich versuche die statische Bibliothek 'libCore.a' zu linken. In den Linkereinstellungen von VisualStudio habe ich bei 'Zusätzliche Bibliotheksverzeichnisse' den Pfad zur 'libCore.a' angegeben. Unter 'Eingabe' habe ich schließlich noch den Namen 'libCore.a' eingegeben.

    Schaue ich mir die Kommandozeile in Visual Studio an (Zusammenfassung) sieht alles bestens aus:

    -o"...\bin\x64\Debug\LibraryTest-Unix.out" "3600000" -Wl,-z,relro -Wl,-z,noexecstack -Wl,--verbose -Wl,--no-undefined "g++" -l"Core" -Wl,-L"~/.../LibraryTest/../../../Core-Unix/bin/x64/Debug" -Wl,-z,now

    Nach langem Suchen haben ich die 'Ausführliche Ausgabe aktiviert", das Logging zeigt mir unter anderem:

    1>/DISCARD/ : error : Öffnen von ~/.../bin/x64/Debug/libCore.a ist fehlgeschlagen.

    Die Bibliothek ist aber eindeutig in diesem Verzeichnis zu finden. Kann jemand weiterhelfen und mir verraten, was ich falsch mache?

    lg Torsten



  • Wo kommt die libarary her? Mit welchem Compiler und Linker gebaut?



  • @TorDev Ein Problem mit Groß-/Kleinschreibung?



  • Weitere Möglichkeit: 32/64bit



  • @Swordfish Alles aus Visual Studio heraus, eine Solution. Alles gebaut via remote mit g++, als Linker wird ld genutzt.

    @DirkB Korrekte Schreibweise habe ich auch geprüft, habe die Ausgaben in die Konsole kopiert und cd xyz ausgeführt. Verzeichnis ist definitiv richtig.

    @Th69 Ist nur x64 System, Virtuelle Maschine Debian Buster Lite.

    lg Torsten



  • Ich habe jetzt die Pfade ohne "VS Platzhalter" eingesetzt, also quasi hart-kodiert. So funktioniert es. Nicht schön, aber ich kann bauen UND linken. Vielleicht gibt es doch irgendwelche Probleme mit Tilde, oder dergleichen.

    Danke für eure Hilfe

    lg Torsten


Log in to reply