Ich habe ein gemeinsames Objekt, das ich auf Windows erstellen mit Real Blick Entwickler-Suite-Tool verknüpfen Befehl auf Windows Host-printfs in einem gemeinsamen Objekt (dynamische Bibliothek) nicht
armlink -o mylib.so < „my * .o Dateien hier gegeben ">
Dann verknüpfe ich eine Anwendung mit diesem mylib.so shared library unter Linux mit GCC-Tools.
Ich habe printf Aussagen innerhalb von Funktionen in diesem mylib.so, aber wenn ich die endgültige ausführbare Datei ausführen, ich keine printf Ausgaben auf der Konsole bekommen. (Stdio.h inlcuded ist überall dort, wo printfs genannt werden)
So Gibt es ein bekanntes Problem mit gemeinsam genutzten Bibliotheken, die dazu führen, dass printf oder Systemfunktionen/Systemaufrufe/Laufzeitbibliotheksfunktionen nicht korrekt funktionieren?
Oder hat das mit meinem eigenartigen Setup zu tun, eine gemeinsame Bibliothek auf Windows-basierte Compiler-Tool-Kette zu machen, sondern diese gemeinsame Bibliothek mit einer Anwendung auf Linux-GCC-Compiler-Tools zu verknüpfen?
Vielen Dank.
-AD
@hlovdal: Die printfs, die sich in main/application befinden, werden korrekt gedruckt, nur die in der shared library geben nichts aus. Auch die Erstellung der Bibliothek und das Verknüpfen mit ausführbaren Dateien geschieht korrekt, denke ich. Ich überprüfe 'readelf', 'strings --printf ..' Ausgaben. -AD – goldenmean