Forum: PC-Programmierung Constructors remain unresolved C++


von mr. mistoffelees (Gast)


Lesenswert?

Hallo zusammen,

ich bau an einem Programm, bei dem ich die Kernlogik sowohl auf µC´lern 
wie auch auf Desktop PC nutze und jeweils nur andere Tools zur 
Visualisierung verwende.
Auf Desktop ist es QT, auf µC ist es Code Composer Studio auf einem 
TIVA-C Launchpad mit Display.

Meine Hoffnung ist, dass es zu meinem Problem sowas wie eine "99.99% 
chance root of evil" gibt. Deswegen verzichte ich darauf, den Quelltext 
und Architekturbeschreibung zu posten.

Mein Problem ist, dass das Programm im QT Creator kompiliert und läuft, 
im CCS aber bei einigen Klassen die Konstruktoren und Destruktoren 
unresolved bleiben, während alle anderen Methoden jeweils gefunden 
werden.
Es ist klar, dass es was mit dem Compiler oder Linker zu tun haben muss.
Nachdem was ich von TI habe, sind die C++ Compiler für die µController 
auf einem 2003 Standard.
Wie gesagt, mit der leisen Hoffnung, dass es typische Design Flaws gibt, 
die das provozieren.

viele Grüße!

von René H. (Gast)


Lesenswert?

Vermutlich Libraries nicht dazu gelinkt. Aber etwas mehr Info zur 
Fehlermeldung wäre durchaus sinnvoll.

Grüsse,
René

von Dumdi D. (dumdidum)


Lesenswert?

René H. schrieb:
> Vermutlich Libraries nicht dazu gelinkt.

Das ist die 99% Antwort. Die includes werden gefunden, d.h. beim 
Compiler ist alles eingestellt. Die Symbole koennen aber nicht 
aufgeloest werden, d.h. die libraries werden vom linker nicht gefunden. 
Du hast nichts von signal error geschrieben, d.h. moc laeuft oder wird 
bicht gebraucht.

von mr. mistoffelees (Gast)


Lesenswert?

fehlende Library Links werden es nicht sein denke ich (zu 90%), da es 
wie gesagt in der QT Umgebung läuft, nur im Code Composer Studio nicht 
kompiliert wird, das wie gesagt einen alten 2003 Standard hat. Auch 
betrifft es keine Klassen wo ich die GrLib Bibliothek gelinkt habe, 
sondern Klassen der Kernlogik, die auch sonst keine Bibs wie STD o.ä. 
haben weil embedded.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tja, da Du aber keinen Quelltext zeigen willst, und nur sehr vage die 
Fehlermeldung beschreibst ... wird man Dir kaum weiterhelfen können.

Beitrag #5258528 wurde von einem Moderator gelöscht.
Beitrag #5258552 wurde von einem Moderator gelöscht.
von Frank K. (fchk)


Lesenswert?

Was für einen Compiler und was für ein Betriebssystem nutzt Du auf dem 
PC?
Es kann sein, dass Du einfach gcc-Spezialitäten oder Microsoftigkeiten 
unbewusst verwendet hast, die anderswo nicht existieren.

fchk

von Oliver S. (oliverso)


Lesenswert?

Sind das default-Konstruktoren, die nicht gefunden werden?

Oliver

von mr. mistoffelees (Gast)


Lesenswert?

...scheint, als ob die Ursache irgendwo im Code Composer Studio liegt.
Ich habe als Versuch ein Beispielprojekt aus den Display Boardexample 
hergenommen und es um den gleichen Visitor Pattern Ansatz erweitert wie 
ich ihn in meinem eigentlichen Projekt verwende - und siehe da - es ist 
kompilierbar.
Der Unterschied ist, dass ich in meinem Versuchsprojekt Klassen direkt 
im CCS  erstellt habe, welche dem C++ example im Visitor Pattern 
Wikibeitrag entsprechen, während ich in meinem eigentlichen Projekt 
dieses im QT Creator gemacht habe und die Pfade zu den Source files als 
includes in den Project Properties vom Code Composer angegeben haben.
Daraufhin habe ich in meinem eigentlichem Project im CCS diese includes 
aus den Properties entfernt und stattdessen die Files über 
ProjectView->RechtsKlick->Add Files gemacht und den Haken bei "Link to 
Files" gesetzt.
So wirds jetzt auch im CCS kompiliert...

Scheint also wie gesagt irgendwas im CCS zu sein...
Mal sehen, ob TI mir verrät, was es ist...

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

mr. mistoffelees schrieb:
> Scheint also wie gesagt irgendwas im CCS zu sein...
> Mal sehen, ob TI mir verrät, was es ist...

Bevor Du Jahre auf eine Antwort von TI wartest: CCS ist einfach nur ein 
modifiziertes Eclipse.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.