Forum: PC-Programmierung Problem beim Compilieren


von Problem (Gast)


Lesenswert?

Guten Tag,

beim Compilieren mit Visual Studio 2017 ist eine Fehlermeldung 
aufgetreten, die bei Visual Studio 2013 noch nicht vorhanden war:

XXXX.lib(firmware.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "_fscanf" in Funktion "_XXXX".

Ich habe etwas bei Google gefunden, dass die prinf- und die 
scanf-Funktionen neuerdings "inline" definiert sein sollen, ich habe 
deshalb wie in einem Link beschrieben die "stdio.h" mit eingebunden.

Leider hat das nicht funktioniert, die Fehlermeldung ist immer noch da. 
Liegt der Fehler vielleicht in der .lib-Datei, dass die für VC2017 nicht 
mehr geeignet sein könnte?

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


Lesenswert?

Problem schrieb:
> beim Compilieren mit Visual Studio 2017 ist eine Fehlermeldung
> aufgetreten, die bei Visual Studio 2013 noch nicht vorhanden war:

Nein, beim Linken ist ein Fehler aufgetreten.

> Ich habe etwas bei Google gefunden, dass die prinf- und die
> scanf-Funktionen neuerdings "inline" definiert sein sollen, ich habe
> deshalb wie in einem Link beschrieben die "stdio.h" mit eingebunden.

Du must wahrscheinlich alle Quellen einmal neu übersetzen. Der Hinweis, 
dass ein Symbol beim Linken fehlt, dass eigentlich als Inline Funktion 
vorhanden sein soll, läßt darauf schließen, dass firmware.obj noch mit 
den alten Definitionen erstellt wurde.

> Liegt der Fehler vielleicht in der .lib-Datei, dass die für VC2017 nicht
> mehr geeignet sein könnte?

Sehr wahrscheinlich.

von Problem (Gast)


Lesenswert?

Torsten R. schrieb:
> Du must wahrscheinlich alle Quellen einmal neu übersetzen.

Gibt es einen Befehl, wie ich alle Quellen neu übersetzen lassen kann?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Problem schrieb:
> Gibt es einen Befehl, wie ich alle Quellen neu übersetzen lassen kann?

Wo hast Du denn diese geheime XXXX.lib her? Kam die mit Quellen oder 
ohne?

Wenn ohne Quellen, musst Du Dich an denjenigen (Hersteller) wenden, der 
die XXXX.lib gebaut hat.

Wenn mit Quellen, dann wird es dazu auch ein Projekt-File geben, um 
diese zu übersetzen.

: Bearbeitet durch Moderator
von Problem (Gast)


Lesenswert?

Frank M. schrieb:
> Wo hast Du denn diese geheime XXXX.lib her

Das kann ich nicht sagen, da Industrieprojekt.

Frank M. schrieb:
> Wenn ohne Quellen, musst Du Dich an denjenigen (Hersteller) wenden, der
> die XXXX.lib gebaut hat.

Genau das werde ich tun müssen, vielen Dank.

von Oliver S. (oliverso)


Lesenswert?

Da wird’s wohl einfacher sein, sich ein Visual Studio 2013 zu besorgen.

Oliver

von Problem (Gast)


Lesenswert?

Oliver S. schrieb:
> Da wird’s wohl einfacher sein, sich ein Visual Studio 2013 zu besorgen.

Leider scheidet diese Option aus, da ein anderer Teil der Software in 
Simulink (2020a) erstellt wird und der aus dem C-Coder erstellte Teil 
ist nicht mehr zum Visual C-Compiler 2013 abwärtskompatibel.

von Oliver S. (oliverso)


Lesenswert?

Wenn sonst nichts mehr hilft, gib dem Linker halt ein _fscanf.

Oliver

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.