Function 'xy' could not be resolved?



  • Hallo,

    ich hoffe mein Thema ist in diesem Unterforum korrekt angesiedelt. Folgende Situation. Ich schreibe gerade an mindestens zwei C++ Projekten und binde dazu eine Art "Standardbibliothek" via Objektdatei über die Eclipse Projekteigenschaften ein.

    In dieser Standardbibliothek gibt es derzeit die beiden Funktionen 'convert_LongToString()' und 'format_DateTime()'. Diese Quelltexte haben einen seperaten Workspace in meiner Eclipseumgebung.

    In einem weiteren Workspace binde ich (via #include) die Headerdatei "standard.h" ein sowie die Objektdatei "standard.o" über die Projekteigenschaften ein.

    Ich kann die Funktion 'convert_LongToString()' wunderbar nutzen, aber bei der Funktion 'format_DateTime()' schreibt mir Eclipse "Function 'format_DateTime()' could not be resolved".

    Merkwürdig dabei ist, dass das Programm dennoch lauffähig ist die ALLE Funktionen korrekt ausgeführt werden - sogar 'format_DateTime()'. Wie kann das sein?

    Ich hoffe, ich konnte das Problem ohne Quelltexte gut genug beschreiben und es kann mir jemand einen Tipp geben?

    lg Torsten



  • Was Eclipse schreibt ist belanglos, es zählen Compiler und Linker. Wenn dein Programm wirklich funktioniert sind sie wohl zufrieden.



  • Ja, viele IDEs implementieren eigene C++-Parser die leider oft kein so gutes Sprachverständnis haben wie der Compiler selbst. Ich habe hier einige C++-Projekte mit diversen Template-Konstrukten bei denen mir einige Dateien in der IDE knallrot angezeigt werden. Diese kompilieren aber dennoch fehler- und warnungsfrei. Da kann man nur:

    - lernen es zu ignorieren
    - anmeckern bestimmter Fehler in der IDE ausschalten
    - hoffen, dass in Zukunft die IDE-Fehlermeldungen während des Editierens direkt vom Compiler kommen (Clang bietet da ein paar gute Ansätze, und soweit ich informiert bin werden in zukünftigen Visual-C++-Versionen die Intellisense-Meldungen vermehrt mithilfe des Compiler-Parsers erzeugt).

    Gruss,
    Finnegan



  • ... dann versuche ich es mal mit "ignorieren" 🙂

    Danke für die schnelle Hilfe.

    lg Torsten


Anmelden zum Antworten