Compilation C visual studio 2005
Jules
-
Jules -
Jules -
Bonjour à tous,
J'ai une erreur de compilation d'un programme c avec visual studio 2005 :
Error 1 Program 'D:\Mes Documents\Visual Studio 2005\Projects\Project2\Project2\obj\Debug\Project2.exe' does not contain a static 'Main' method suitable for an entry point Project2
J'avoue utiliser cette outil pour la 1ere fois, j'ai créé un projet, ouvert mon fichier check.c puis le debug ou le build solution me génère la même erreur.
Pour information, la compilation sous unix par gcc fonctionne ...
Est-ce que vous auriez une piste à me proposer ? ... ou un autre outils pour compiler du C sur windows ?
Merci.
Mon programme vérifie le format des fichiers
#include <values.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#define MAX_RECORD_LENGTH 32767
/* Global parameters and their default values */
int RecordLength = 0; /* default */
char *InFile = NULL; /* file path to check */
/* Preallocated string to store lines */
char CurrentLine[MAX_RECORD_LENGTH + 1] = "";
/* exit in case of error */
ExitError(int returnCode, char *returnMsg) {
if (returnMsg != NULL) fprintf(stderr,"CHECKTF-ERROR-%d: %s\n",returnCode,returnMsg);
exit(returnCode);
}
/* Checking command line arguments and set global parameters */
void ProcessArgs(int argc, char *argv[]) {
int curArg;
/* scan arguments */
for(curArg = 1; curArg < argc; curArg++) {
if (strncasecmp(argv[curArg],"-recsize=",9) == 0) { RecordLength = atoi(argv[curArg] + 9);
} else InFile = argv[curArg];
}
RecordLength = (RecordLength < 0)?0:((RecordLength > MAX_RECORD_LENGTH)?MAX_RECORD_LENGTH:RecordLength);
/* check incompatibilities */
if (RecordLength == 0) ExitError(1,"record length > 0");
RecordLength++;
if (InFile == NULL) ExitError(1,"file name missing");
}
void CheckRecords(char *curFile) {
char *curLine;
FILE *curStream;
curStream = fopen(curFile, "r");
if (curStream == NULL) ExitError(3,"cannot open file");
do {
curLine = fgets(CurrentLine,MAX_RECORD_LENGTH + 1,curStream);
if (curLine != NULL) {
if (strlen(curLine) != RecordLength) {
fclose(curStream);
ExitError(10,"bad format");
}
}
if ferror(curStream) ExitError(4,"error reading input");
if ferror(stdout) ExitError(5,"error writing output");
if feof(curStream) curLine = NULL;
} while(curLine != NULL);
fclose(curStream);
}
/* main(int argc, char *argv[]) { */
ProcessArgs(argc,argv);
CheckRecords(InFile);
exit(0);
}
J'ai une erreur de compilation d'un programme c avec visual studio 2005 :
Error 1 Program 'D:\Mes Documents\Visual Studio 2005\Projects\Project2\Project2\obj\Debug\Project2.exe' does not contain a static 'Main' method suitable for an entry point Project2
J'avoue utiliser cette outil pour la 1ere fois, j'ai créé un projet, ouvert mon fichier check.c puis le debug ou le build solution me génère la même erreur.
Pour information, la compilation sous unix par gcc fonctionne ...
Est-ce que vous auriez une piste à me proposer ? ... ou un autre outils pour compiler du C sur windows ?
Merci.
Mon programme vérifie le format des fichiers
#include <values.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#define MAX_RECORD_LENGTH 32767
/* Global parameters and their default values */
int RecordLength = 0; /* default */
char *InFile = NULL; /* file path to check */
/* Preallocated string to store lines */
char CurrentLine[MAX_RECORD_LENGTH + 1] = "";
/* exit in case of error */
ExitError(int returnCode, char *returnMsg) {
if (returnMsg != NULL) fprintf(stderr,"CHECKTF-ERROR-%d: %s\n",returnCode,returnMsg);
exit(returnCode);
}
/* Checking command line arguments and set global parameters */
void ProcessArgs(int argc, char *argv[]) {
int curArg;
/* scan arguments */
for(curArg = 1; curArg < argc; curArg++) {
if (strncasecmp(argv[curArg],"-recsize=",9) == 0) { RecordLength = atoi(argv[curArg] + 9);
} else InFile = argv[curArg];
}
RecordLength = (RecordLength < 0)?0:((RecordLength > MAX_RECORD_LENGTH)?MAX_RECORD_LENGTH:RecordLength);
/* check incompatibilities */
if (RecordLength == 0) ExitError(1,"record length > 0");
RecordLength++;
if (InFile == NULL) ExitError(1,"file name missing");
}
void CheckRecords(char *curFile) {
char *curLine;
FILE *curStream;
curStream = fopen(curFile, "r");
if (curStream == NULL) ExitError(3,"cannot open file");
do {
curLine = fgets(CurrentLine,MAX_RECORD_LENGTH + 1,curStream);
if (curLine != NULL) {
if (strlen(curLine) != RecordLength) {
fclose(curStream);
ExitError(10,"bad format");
}
}
if ferror(curStream) ExitError(4,"error reading input");
if ferror(stdout) ExitError(5,"error writing output");
if feof(curStream) curLine = NULL;
} while(curLine != NULL);
fclose(curStream);
}
/* main(int argc, char *argv[]) { */
ProcessArgs(argc,argv);
CheckRecords(InFile);
exit(0);
}
A voir également:
- Compilation C visual studio 2005
- Money 2005 - Télécharger - Comptabilité & Facturation
- Visual c++ 2019 - Guide
- Visual petanque - Télécharger - Sport
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Darkwave studio - Télécharger - Édition & Montage
2 réponses
salut,
c'est normal il te faut une fonction main comme point de depart de ton programme
ton main semble etre en commentaire
c'est normal il te faut une fonction main comme point de depart de ton programme
ton main semble etre en commentaire
Jules
merci