Beim Schreiben von Programmen in C++ stößt man manchmal auf das Problem, dass Funktionen nicht richtig verknüpft werden. Dies geschieht normalerweise, wenn der Compiler die Funktionsdefinition nicht finden kann. Wenn dieses Problem auftritt, müssen wir uns darum kümmern. Als nächstes stellen wir die Definition der Funktion vor, die nicht korrekt verknüpft werden kann, und den Umgang damit.
1. Die Funktionsdefinition konnte nicht korrekt verknüpft werden
Die Funktion konnte nicht korrekt verknüpft werden, was bedeutet, dass der Compiler die Symbolreferenz nicht mit der Symboldefinition verknüpfen und die erforderliche Funktionsimplementierung nicht finden kann. Beim Kompilieren prüft der Compiler, ob die im Code verwendete Funktion eine Implementierung hat. Wenn keine Implementierung gefunden wird, gibt er einen Fehler „ungelöstes Symbol“ aus. Diese Fehlermeldung gibt normalerweise an, in welcher Datei und in welcher Zeile der Fehler aufgetreten ist. Häufige Fehlermeldungen lauten wie folgt:
xxx.obj : error LNK2019: unresolved external symbol “symbol” referenced in function “function”
xxx.exe : fatal error LNK1120: 1 unresolved externals
Darunter steht xxx
für den Programmnamen, symbol
für den Namen des nicht gefundenen Symbols und function
ist das Symbol, das als Funktionsname bezeichnet wird. xxx
表示程序名,symbol
是未找到的符号名,function
是调用该符号的函数名。
二、未能正确链接函数的原因
常见的原因是缺少库文件,而库文件中包含了函数的定义。解决方法是添加此库文件路径到项目属性的附加库目录下。
有时候函数的定义与声明不一致,如函数定义为int func(int a)
,但在调用时发现函数声明为int func(char a)
int func(int a)
definiert, aber wenn dies der Fall ist Beim Aufruf wird festgestellt, dass die Funktionsdeklaration int func(char a)
ist. In diesem Fall müssen Definition und Deklaration geändert werden, um konsistent zu sein.
Überprüfen Sie die Schreibweise des Funktionsnamens.
🎜🎜Stellen Sie sicher, dass der Funktionsname richtig geschrieben ist und mit der Definition übereinstimmt. 🎜🎜🎜Fügen Sie die Funktionsimplementierung in eine Header-Datei ein🎜🎜🎜Fügen Sie die Funktionsimplementierung in eine Header-Datei ein und stellen Sie sicher, dass Sie die Header-Datei beim Aufruf der Funktion einschließen. 🎜🎜Zusammenfassung🎜🎜Wenn Funktionen nicht korrekt verknüpft werden, schlägt die Programmkompilierung fehl, was für Programmierer große Unannehmlichkeiten verursacht. Um diese Situation zu vermeiden, ist eine gute Funktionsdeklaration, Definition und Referenzierung von Bibliotheksdateien erforderlich. Wenn es ein Problem gibt, bei dem die Funktion nicht korrekt verknüpft werden kann, ist es am besten, das Problem Schritt für Schritt zu beheben, die spezifischen Gründe herauszufinden und entsprechend damit umzugehen. 🎜Das obige ist der detaillierte Inhalt vonC++-Fehler: Die Funktion konnte nicht korrekt verknüpft werden. Wie gehe ich damit um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!