Linker Error LNK2001
-
........
-
Das ist wohl ein Problem mit deiner IDE/deinem Compiler => falsches Forum
ReZZeX schrieb:
(ich habe /NODEFAULTLIBARY in VS2015 angemacht)
Warum?
Hast du alles benötigte von Hand dazugebunden?
-
............
-
...........
-
ReZZeX schrieb:
Ja, das hab ich gemacht, das meiste aber ersetzt zu Win32 Varianten Bekomme die Fehler aber einfach nicht weg..
Warum?
-
ReZZeX schrieb:
Was wäre denn das richtige Forum?
Compiler und IDE?
-
.........
-
ReZZeX schrieb:
Weil dann jeder PC wo man das Program runterlädt auch die kack C++ Runtime Libary runterladen muss. Heißt das Program funktorniert nicht auf frisch formartierten PCs.
> Die Runtime statisch linken.
Warum solltest du auf die Standardbibliothek verzichten wollen?
-
DarkShadow44 schrieb:
> Die Runtime statisch linken.
Weils nicht offensichtlich ist wie das geht: In den Projekteigenschaften unter C/C++ -> Code Generation -> Runtime Library von "Mulit-threaded DLL (/MD)" auf "Mulit-threaded (/MT)" umstellen. Man muss dann aber alle Libraries die man benutzt mit der gleichen Einstellung compilieren, sonst gibts nacher viele andere lustige Linkerfehler.
-
ReZZeX schrieb:
Weil dann jeder PC wo man das Program runterlädt auch die kack C++ Runtime Libary runterladen muss. Heißt das Program funktorniert nicht auf frisch formartierten PCs.
Ja, aber wie du siehst brauchst du die Runtime Library, die kümmert sich um so Sachen wie new.
Deshalb statisch linken.
-
............
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
.....
-
ReZZeX schrieb:
So ich habe jetzt herausgefunden
Das war dir doch eigentlich von Anfang an klar.
Dann ersetzt mal BYTE durch char und probier aus, ob der Fehler dann auch auftritt. Wenn nein, liegt es an BYTE, was immer das auch ist.
-
............
-
Nun, dann handelt es sich wohl um BYTE aus Windows, d.h. statt char müsste unsigned char funktionieren. Das wird dann aber wohl auch nicht helfen, da du das Projekt irgendwie kaputtkonfiguriert hast.
Vielleicht solltest du deine Dateien in ein neu mit VS angelegtes Projekt kopieren und dann nicht an Schaltern herumspielen, die du nicht genau kennst.
-
........
-
.............
-
Na, wenn du statisch linkst landet der komplette Code, der vorher in der externen DLL war in deiner exe, deshalb ist die größer, der Nutzer braucht die DLL aber nicht.
Deshalb nimmt man ja DLLs.
-
........