L
Lukasz
Hallo zusammen;
Ich bin ein leider erst ein Anfänger. Mein erstes Problem liegt nicht am Code selbst, sondern bei der Einbindung von „Kernel32.lib“! Microsoft beschreibt das ganze folgend:
There are no redistributable files (i.e., dll's/cab's, etc.) included with the Visual C++ Toolkit 2003. Object library files included with the Visual C++ Toolkit 2003 (e.g. the C Runtime Library static libraries designated with the suffix ".lib") will be automatically linked to your program when they are compiled by the Visual C++ compiler and linker. Inclusion of these static libraries as compiled into your program is acceptable; you may not, however, redistribute the static libraries standalone - on their own.
Aber leider komme ich nicht zurecht, wie ich diese Bibiliothek einbinden kann. Dabei versuche ich folgenden Code zu kompilieren:
lgc.cpp
comiliert mittels
cl lgc.cpp
#include <.?.>
int main(){
CopyFile("1.txt","2.txt",TRUE);
return 0;
}
Das Ergebnis ist wie man sich das ganze vorstellen kann so, dass mir der Compiler erklärt, dass er dir Funktion CopyFile(char *, char *, ..) nicht versteht! Ich leider verstehe auch nicht wie ich das mit den Parametern der sonst wie hinbekommen kann, das die Kernel32.lib eingebunden wird.
Mein Compiler wird mit folgenden Parameter gestartet:
Beim einbinden einer bestimmten *.H Datei gibt es keine Probleme. Möchte ich also Beispielweise die iostream Einbinden so geht dies auch mittels:
#include <iostream>
Noch mal zum eigentlichen:
Ich möchte ein kleines Programm schreiben, welches mir 3 Dateien von a nach B kopiert. Damit ich diese Windows spezifischen Befehle bzw. Funktionen nutzen kann, brauche ich die Kernel32.lib, die sich nicht in das Programm intigrieren lässt, oder ich habe wirklich kein Plan wie ich das fertig bringen soll.
Die Kernel32.lib liegt im Verzeichnis lib/ direkt über dem Compiler.
Falls einer von euch schon mal mit Visual Studio gearbeitet hat, der kann mir eventuell rat geben. Ich selbst habe Visual Studio nicht, aber den zugehörigen Compiler, den Microsoft kostenlos zum downloaden anbietet.
Liebe Grüsse und Danke für eure Hilfe!
Nachtrag:
Microsoft beschreibt das ganze mit folgenden Parameter
Linking
Option Purpose
/F Sets stack size
/LD Creates a dynamic-link library
/LDd Creates a debug dynamic-link library
/link Passes the specified option to LINK
/MD Compiles to create a multithreaded DLL, using MSVCRT.lib
/MDd Compiles to create a debug multithreaded DLL, using MSVCRTD.lib
/ML Compiles to create a single-threaded executable file, using LIBC.lib
/MLd Compiles to create a debug single-threaded executable file, using LIBCD.lib
/MT Compiles to create a multithreaded executable file, using LIBCMT.lib
/MTd Compiles to create a debug multithreaded executable file, using LIBCMTD.lib
aber von Kernel32 ist nicht die Rede, obwohl diese in der Lib liegt!
Ich bin ein leider erst ein Anfänger. Mein erstes Problem liegt nicht am Code selbst, sondern bei der Einbindung von „Kernel32.lib“! Microsoft beschreibt das ganze folgend:
There are no redistributable files (i.e., dll's/cab's, etc.) included with the Visual C++ Toolkit 2003. Object library files included with the Visual C++ Toolkit 2003 (e.g. the C Runtime Library static libraries designated with the suffix ".lib") will be automatically linked to your program when they are compiled by the Visual C++ compiler and linker. Inclusion of these static libraries as compiled into your program is acceptable; you may not, however, redistribute the static libraries standalone - on their own.
Aber leider komme ich nicht zurecht, wie ich diese Bibiliothek einbinden kann. Dabei versuche ich folgenden Code zu kompilieren:
lgc.cpp
comiliert mittels
cl lgc.cpp
#include <.?.>
int main(){
CopyFile("1.txt","2.txt",TRUE);
return 0;
}
Das Ergebnis ist wie man sich das ganze vorstellen kann so, dass mir der Compiler erklärt, dass er dir Funktion CopyFile(char *, char *, ..) nicht versteht! Ich leider verstehe auch nicht wie ich das mit den Parametern der sonst wie hinbekommen kann, das die Kernel32.lib eingebunden wird.
Mein Compiler wird mit folgenden Parameter gestartet:

Beim einbinden einer bestimmten *.H Datei gibt es keine Probleme. Möchte ich also Beispielweise die iostream Einbinden so geht dies auch mittels:
#include <iostream>
Noch mal zum eigentlichen:
Ich möchte ein kleines Programm schreiben, welches mir 3 Dateien von a nach B kopiert. Damit ich diese Windows spezifischen Befehle bzw. Funktionen nutzen kann, brauche ich die Kernel32.lib, die sich nicht in das Programm intigrieren lässt, oder ich habe wirklich kein Plan wie ich das fertig bringen soll.
Die Kernel32.lib liegt im Verzeichnis lib/ direkt über dem Compiler.
Falls einer von euch schon mal mit Visual Studio gearbeitet hat, der kann mir eventuell rat geben. Ich selbst habe Visual Studio nicht, aber den zugehörigen Compiler, den Microsoft kostenlos zum downloaden anbietet.
Liebe Grüsse und Danke für eure Hilfe!
Nachtrag:
Microsoft beschreibt das ganze mit folgenden Parameter
Linking
Option Purpose
/F Sets stack size
/LD Creates a dynamic-link library
/LDd Creates a debug dynamic-link library
/link Passes the specified option to LINK
/MD Compiles to create a multithreaded DLL, using MSVCRT.lib
/MDd Compiles to create a debug multithreaded DLL, using MSVCRTD.lib
/ML Compiles to create a single-threaded executable file, using LIBC.lib
/MLd Compiles to create a debug single-threaded executable file, using LIBCD.lib
/MT Compiles to create a multithreaded executable file, using LIBCMT.lib
/MTd Compiles to create a debug multithreaded executable file, using LIBCMTD.lib
aber von Kernel32 ist nicht die Rede, obwohl diese in der Lib liegt!
Zuletzt bearbeitet von einem Moderator: