c, c++ | LNK2019, Verweiß auf nicht aufgelöstes externes Symbol?

Natürlich habe ich, bevor ich hier frage, auch schon im Internet nach vorherigen ähnlichen Problemen gesucht und die gab es natürlich auch, aber keine der bereits vorhandenen Lösungen hat mir in meinem speziellen Fall wirklich geholfen.

Soweit wie ich es verstanden habe, meint dieser Error, dass man zB innerhalb einer Funktion einen Funktionsaufruf hat, von einer Funktion aus einer anderen Datei, diese findet der Linker aber nicht.

Es ist auch tatsächlich so, dass ich neben der Datei meiner main auchnoch andere Dateien verwende, nämlich genau zwei: header.h und header.cpp.

In der Headerdatei habe ich nur Deklarationen, in der cpp die entsprechenden Definitionen, beide Dateien habe ich im richtigen Verzeichnis und auch im Projekt-Explorer hinzugefügt, compilieren kann ich auch alles.

Bisher hatte es eigentlich immer funktioniert (unter der Voraussetzung dass ich die Dateien im Proj-Expl hinzugefügt habe)

Jetzt habe ich im selbigen namespace 4000 weitere Zeilen hinzugefügt, welche extern auch problemlos funktioniert haben und auch hier wird intellisense keine Fehler, aber sobald ich irgend eine der neuen Funktionen verwende (die alten gehen nach wie vor), wirft mir der Linker den Fehler LNK2019

(ConsoleApplication47.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl MS::Experimental::save<int>(char const * const,int &)" (??$save@H@Experimental@MS@@YA_NQBDAAH@Z)" in Funktion "_main")

Zugegeben, es ist nicht ganz der gleiche namespace, aber der namespace befindet sich im gleichen namespace.

In der Headerdatei liegen die gleichen namespaces mit den Deklarationen und Visual Studio findet auch die dazugehörigen Definitionen.

Woran könnte es liegen? Muss ich vielleicht irgendwo in den Projekteinstellungen unter Linker eigentlich noch angeben, dass ich Funktionen aus der cpp nutze? Oder muss ich die Deklarationen mit dem Schlüsselwort extern machen?

Danke im Voraus schonmal für alle Antworten.

Hier noch für die die sich den Code durchlesen wollen (zumindest Teile)

Header:

namespace MS
{
  namespace Experimental
  {
    template <>  //Spezialisierung von vorheriger Funktion
    bool save(const char varName[], char &var);
  }
}

Cpp:

http://codepad.org/I6zkckyk       (ist zu lang)

Ich weiß, das ist alles im Moment noch nicht so schön gelöst, aber das ist ja auch noch nicht fertig :)

Alle Konstanten mit F_ sind im header definiert und werden erkannt.

Alle Funktionen mit F_ sind für den namespace von mir erstellte Funktionen, sie befinden sich über dieser Funktion.

Computer, Technik, programmieren, CPP, Technologie, Spiele und Gaming
Gelbe led von Asus Mainboard leuchtet?

Hallo,

ich habe mir einen neuen PC gekauft und zusammengebaut. Das Problem ist, dass wenn ich ihn starte keine Bestätigungstöne kommen. Die rote led für die cpu kurz aufleuchtet max. Halbe sek und dann wieder ausgeht, so gehe ich davon aus dass mit dieser alles ok ist. Problem ist jedoch, dass danach die gelbe led für den ram angeht und auch an bleibt und nichts mehr passiert. Lüfter laufen alle und was man auch noch erwähnen kann, ist das die rgb Beleuchtung und orange led schon leuchten bevor man den pc einschaltet bzw nachdem den Schalter vom netzteil umgelegt hat. Hatte auch schon probiert ohne ram zu booten was allerdings auch nix bringt selbes ergebnis. Was im computer noch nicht verbaut ist ist gpu und Festplatten wollte erstmal schauen, ob es funktioniert. Wobei die ssd sowieso nicht booten wird wenn der bios modus nicht eingeschaltet ist, da windows auf der ssd mit bios und keinem uefi installiert wurde. Weiß halt nicht an was es noch liegen könnte. Müsste wenigstens ins bios/uefi kommen.

System:

Asus rog strix z370f gaming

I7 8700k

Corsair vengeance 3000

Be quiet straight power 10

Wenn ich in die liste für den unterstützten ram schaue kommt der drin vor. Allerdings auch in verschiedenen version. Ich habe version 5.39 welche nicht darin vorkommt, wobei man vor dem kauf auch nicht wissen kann welche version man bekommt. Zudem müsste es ja dennoch möglich sein ohne ram zu booten, was aber auch die gelbe leuchte leuchten lässt.

Genaue bezeichnung ram:

CMK16GX4M2B3000C15 5.39

Liste: http://dlcdnet.asus.com/pub/ASUS/mb/LGA1151/ROG_STRIX_Z370-F_GAMING/Z370-4DIMM-Memory-QVL_20180103.pdf

In dieser ist unteranderem version 5.30 vertreten.

Liegt darin darin das problem und macht das so viel aus? Gerade weil auf händler seiten keine Angaben gaben zur version des rams gegeben wird. Warum wird nicht ohne ram gebootet? Es kommt wirklich nichts beim bildschirm an, welche über hdmi vom mb angeschlossen ist.

PC, Computer, Technik, RAM, Mainboard, Technologie, Spiele und Gaming
Packt mein Laptop Overwatch?

Hallo Leute, ich möchte mir demnächst das Computerspiel Overwatch holen, bin mir aber nicht sicher ob mein Laptop den Anforderungen gerecht wird...

Hier die Anforderungen für Overwatch:

Betriebssystem

64-Bit-Version von Windows® 7 / Windows® 8 / Windows® 10 (mit neuestem Service Pack)

Empfohlen: 64-Bit-Version von Windows® 7 / Windows® 8 / Windows® 10 (mit neuestem Service Pack)

ProzessorIntel® Core™ i3 oder AMD Phenom™ X3 8650

Empfohlen: Intel® Core™ i5, AMD Phenom™ II X3 oder besser

GrafikNVIDIA® GeForce® GTX 460, ATI Radeon™ HD 4850 oder Intel® HD Graphics 4400

Empfohlen: NVIDIA® GeForce® GTX 660, AMD Radeon™ HD 7950 oder besser

Arbeitsspeicher4 GB RAM

Empfohlen: 6 GB RAM

Festplatte30 GB verfügbarer Festplattenspeicher

InternetBreitbandverbindung

LaufwerkDa die empfohlene Installation per Download erfolgt, wird kein zusätzliches optisches Laufwerk benötigt.

Auflösung1024 x 768 Bildpunkte Bildschirmauflösung

Mein Laptop:

Display:

  • Display-Typ: LED Backlight - Glare
  • Displaygröße in cm: 43,9
  • Displaygröße in Zoll: 17,3
  • Bildqualität: 1600 x 900 HD+
  • Touchdisplay: Nein
  • Max. Auflösung: 1600 x 900
  • Display-Art: glänzend

Prozessor:

  • Prozessor: Intel® Core™ i5
  • Prozessornummer: 5200U
  • Prozessorgeschwindigkeit: 2,2 Gigahertz
  • Leistungsbeschreibung: 3M Cache, bis zu 2.7GHz
  • Prozessorkerne: 2

Festplattenlaufwerk:

  • Anzahl installierter Festplatten: 1
  • Festplattenkapazität gesamt: 1000 GB
  • Festplattentyp: HDD
  • Festplattengröße: 1000 GB
  • Festplattenschnittstelle: SATA

Komponenten:

  • Arbeitsspeichergröße: 4096 MB
  • Arbeitsspeichertyp: DDR3-RAM
  • Grafikkartenhersteller: NVIDIA Geforce
  • Grafikkartentyp: 920M
  • Größe Grafikkartenspeicher: 2 GB
  • Laufwerke: DVD Super Multi Double Layer
  • Webcam: Ja
  • Kartenleser: Ja

Netzwerk & Anschlüsse:

  • Anzahl Audio-Anschlüsse: 1
  • Anzahl VGA-Anschlüsse: 1
  • Anzahl HDMI-Anschlüsse: 1
  • Anzahl Netzwerkanschlüsse: 1
  • Anzahl USB 2.0-Anschlüsse: Keine
  • Anzahl USB 3.0-Anschlüsse: 3
  • Verbindungsarten: WLAN (802.11 b/g/n)

Betriebssystem / Software:

  • Betriebssystem: Microsoft® Windows® 10 Home (64Bit)
  • Mitgelieferte Software: Microsoft Office 365

Vielen Dank für eure Hilfe!!

 

Computer, Computerspiele, Technik, Technologie, Overwatch, Spiele und Gaming

Meistgelesene Beiträge zum Thema Spiele und Gaming