Heim > Backend-Entwicklung > C++ > C++-Fehler: Die Funktion konnte nicht korrekt verknüpft werden. Wie gehe ich damit um?

C++-Fehler: Die Funktion konnte nicht korrekt verknüpft werden. Wie gehe ich damit um?

PHPz
Freigeben: 2023-08-21 20:45:50
Original
1114 Leute haben es durchsucht

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” 
Nach dem Login kopieren
xxx.exe : fatal error LNK1120: 1 unresolved externals 
Nach dem Login kopieren

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是调用该符号的函数名。

二、未能正确链接函数的原因

  1. 缺少库文件

常见的原因是缺少库文件,而库文件中包含了函数的定义。解决方法是添加此库文件路径到项目属性的附加库目录下。

  1. 函数定义与声明不一致

有时候函数的定义与声明不一致,如函数定义为int func(int a),但在调用时发现函数声明为int func(char a)

2. Der Grund, warum die Funktion nicht korrekt verknüpft werden kann
  1. Mangel an Bibliotheksdateien

Der häufigste Grund ist das Fehlen von Bibliotheksdateien und die Bibliotheksdateien enthalten die Definition der Funktion. Die Lösung besteht darin, diesen Bibliotheksdateipfad zum zusätzlichen Bibliotheksverzeichnis in den Projekteigenschaften hinzuzufügen.
  1. Die Funktionsdefinition stimmt nicht mit der Deklaration überein

Manchmal stimmt die Funktionsdefinition nicht mit der Deklaration überein. Beispielsweise ist die Funktion als 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.

    Der Funktionsname ist falsch geschrieben
Dies kann daran liegen, dass der Funktionsname beim Aufruf falsch geschrieben ist und nicht mit der Definition übereinstimmt und der Compiler die Funktionsimplementierung nicht finden kann. Überprüfen Sie, ob der Funktionsname korrekt ist.

    Die Funktion befindet sich nicht in der Header-Datei.
Wenn die Funktionsimplementierung nicht in der Header-Datei enthalten ist, müssen Sie die Funktionsimplementierung in die Header-Datei einfügen.

3. Lösung für die fehlerhafte Verknüpfung von Funktionen
  1. Überprüfen Sie die Bibliotheksdateien

Überprüfen Sie zunächst, ob dem Programm relevante Bibliotheksdateien fehlen. Sie können zunächst die entsprechende Bibliotheksdatei auf der offiziellen Website herunterladen und diese dann zum zusätzlichen Bibliotheksverzeichnis der Projekteigenschaften hinzufügen. Wenn das Problem immer noch nicht gelöst werden kann, können Sie versuchen, die entsprechenden Bibliotheksdateien neu zu installieren.
  1. Funktionsdefinitionen und -deklarationen überprüfen

Stellen Sie sicher, dass alle Funktionen korrekt deklariert und definiert sind. Funktionsdefinitionen sollten mit ihrer Deklaration konsistent 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage