Fehlermeldung, mit der ich nichts anfangen kann
-
Hallo,
bei mir kommt diese Fehlermeldung:
E:/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `_WinMain@16'
Allerdings weiß ich nicht, was das bedeutet.
Kann es was mit der main.cpp bzw dll.h zu tun haben?----main.cpp---- #include <iostream> #include <windows.h> #include <stdio.h> #include <string> #define DLL_EXPORT #include "dll.h" extern "C" { DECLDIR int Zaehler1_alter_Stand ( int nType, int nState, int nFldIdx, LPSTR lpszMskName, int nSizeMskName, LPSTR lpszBlobFile, int nSizeBlobFile, LPSTR lpszFldData, int nSizeFldData, LPSTR lpszErrText, int nSizeErrText ) { char *str; char fd[200]; char pfad[200]="IGOR\\"; str = "_zaehlerstand_1_alt.txt"; char acUserName[100]; DWORD nUserName = sizeof(acUserName); if (GetUserName(acUserName, &nUserName)) { strcat(acUserName,str); strcpy (fd,acUserName); strcat(pfad,fd); FILE *cs; cs=fopen(pfad,"a+"); if (cs==NULL) {system ("md IGOR");} if (cs!=NULL) { fclose(cs); } remove(pfad); FILE *dt; dt=fopen(pfad,"a+"); if (dt!=NULL) { fprintf(dt,"%s", lpszFldData ); fclose (dt); } else { MessageBox ( NULL, "FC2", "EASY CAPTURE - USEREXIT", MB_OK|MB_ICONSTOP ); } } else { MessageBox ( NULL, "FC1", "EASY CAPTURE - USEREXIT", MB_OK|MB_ICONSTOP ); } return 0; } } ----dll.h---- #ifndef _DLLTUT_DLL_H_ #define _DLLTUT_DLL_H_ // DLL EX - / IM - port halt #if defined DLL_EXPORT #define DECLDIR __declspec(dllexport) #else #define DECLDIR __declspec(dllimport) #endif // Prototyp extern "C" { DECLDIR int Zaehler1_alter_Stand (int nType, int nState, int nFldIdx, LPSTR lpszMskName, int nSizeMskName, LPSTR lpszBlobFile, int nSizeBlobFile, LPSTR lpszFldData, int nSizeFldData, LPSTR lpszErrText, int nSizeErrText ); } #endif
-
Sieht so aus, als wolltest du eine DLL erstellen, versuchst aber, eine EXE zu erstellen...
-
Die Fehlermeldung bedeutet, dass der Compiler versucht eine Windows Anwendung zu erstellen, findet aber die Einstiegsfunktion "WinMain" (http://msdn.microsoft.com/en-us/library/ms633559%28VS.85%29.aspx) nicht.
So wie es aussieht musst du in den Projekteigenschaften auf DLL umstellen für das was du willst
Lg,
Thomas
-
Außerdem fehlt die DllMain
-
Hi,
-insane- schrieb:
Außerdem fehlt die DllMain
MSDN schrieb:
DllMain Callback Function
An optional entry point into a dynamic-link library (DLL).
Peace C0de4Fun
-
Jetzt Compiliert er mir die main.dll als C++-Datei und nicht als DLL, weil immer diese Meldung kommt (wenn ich auf File->New-Build target ... gehe):
A build target with this name already exists
Dabei habe ich keine entsprechende DLL gefunden. Wie kann ich das unter Code::Blocks ändern?
-
sulpsulpc (Gast) schrieb:
Jetzt Compiliert er mir die main.dll als C++-Datei und nicht als DLL, weil immer diese Meldung kommt (wenn ich auf File->New-Build target ... gehe):
A build target with this name already exists
Dabei habe ich keine entsprechende DLL gefunden. Wie kann ich das unter Code::Blocks ändern?
Ich empfehle dir DLL-Projekte unter VC++ zu kompilieren.