Je n'y comprend plus rien (ma fonction "main" ne démarre pas !?!?)

Signaler
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Bonjour,

Je viens de convertir un projet (en C je voudrais ensuite le convertir en C++) Visual C++ 6.0 (console) en un projet Visual studio 2008 (console aussi forcément, conversion non sans de mal car c'est un gros projet et beaucoup de configurations spécifiques, exemple "Ignore Specifique Library : libcmt.lib,msvcrt.lib,libc.lib,libcmtd.lib,msvcrtd.lib" que j'ai du redéfinir en "Specifique Library : libcmt.lib,msvcrt.lib,libc.lib,msvcrtd.lib", si non PLEINS d'erreur de link sur des fonctions standard, comme "fputs" par exemple, de plus je n'est pas développé ce projet et je n'est toujours pas compris pourquoi toute ces lib sont exclus, et si je supprimes toute les explusions d'autres erreurs apparaisse ).
Enfin bref ce n'est pas le sujet et sa compile enfin .
= ========= Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 


Donc maintenant je voudrais débugger mon programme (même si logiquement vue que je n'avais aucun problème sous Vis. C++ 6.0 je ne devrais pas en avoir non plus sous 2008, enfin je suppose, j'espère, j'ai peurs )

Mon problème est que ma fonction "int main(int argc,char *argv[])" ne semble pas démarrer . Quand je démarre mon débug (ou le programme compiler) une fenêtre Ms.Dos s'affiche pour disparaitre immédiatement .

J'ai testé ÉNORMÉMENT de choses et j'avoue que là je suis à bout

Quand je démarre le programme compiler depuis une fenêtre Ms.Dos un simple message "runtime error" s'affiche et je me retrouve de nouveau sur la console Ms.Dos.

Je comprend pas ce qui se passe
Toute idée est bonne à prendre.
HELP ME PLZ !

Merci d'avance

PS :

Mon projet utilise une librairie fortran développée par un collègue (mais celle ci n'a jamais posé problème donc je ne voie pas pourquoi sa viendrais de sa )

Je poste en + toute la config de mon projet (des fois que le problème vienne de là, en même temps si non je ne voie pas d'où sa pourrait venir, heeee les "command line" résume bien la configuration de chaque élément il me semble ?)
Configuration Properties :
-General (je n'est pas tout ajouter, output directory par exemple ne me semble pas pouvoir poser problème )
-> Inherited Project Property Sheets : $(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops
-> Enabled Managed Incemental Build : Yes
-> Configuration Type : "Application (.exe)"
-> Use of MFC : "Use Standard Windows Libraries"
-> Use of ATL : "Not Using ATL"
-> Character set : "Use Multi-Byte Character Set"
-> Common Language Runtime support : "No Common Language Runtime support"
-> Whole Program Optimization : "No Whole Program Optimization"
-Debugging
-> Command : "$(TargetPath)"
-> Command arguments : (vide)
-> Working Directory : (vide)
-> Attach : "No"
-> Environment : (vide)
-> Merge Environment : (vide)
-> SQL Debugging : "No"
-C/C++ (Command Line)
/O2 /Ob1 /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "DEV_MONO" /D "DEV_PC" /D "DEV_XXXXX" /GF /Gm /EHsc /MTd /Gy /Fp".\DbgE_XXXXX/MonProg.pch" /Fo".\DbgE_XXXXX/" /Fd".\DbgE_XXXXX/" /FR".\DbgE_XXXXX\" /W2 /nologo /c /Zi /TP /errorReport:prompt

-Linker (Command Line)
/OUT:".\DbgE_XXXXX/MonProg.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:".\DbgE_XXXXX\MonProg.exe.intermediate.manifest" /MANIFESTUAC:"level  ='asInvoker' uiAccess= 'false'" /NODEFAULTLIB:"libcmt.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"msvcrtd.lib" /DEBUG /PDB:".\DbgE_XXXXX/MonProg.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT e:\PNP\Serveur\StatLib\Debug\statLib.Lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

-Manifest Tool (Command Line)
/nologo /out:.\DbgE_XXXXX\MonProg.exe.embed.manifest /notify_update

-XML Document Generator (Command Line)
"MonProg" /nologo /Fo"e:\Pnp\serveur\MonProg\DbgE_XXXXX\MonProg.xml"

-Browse Information (Command Line)
/nologo /o ".\DbgE_XXXXX/MonProg.bsc"

-Build Events (Pre-Build Events, Pre-Link Events, Post-Build Events, identique)
-> Command Line : (vide)
-> Description : (vide)
-> Excluded From Build : No
-Custom Build Step
-> Command Line : (vide)
-> Description : "Performing Custom Build Step"
-> Outputs : (vide)
-> Additional Dependencies : (vide)

Si j'ai oublier quelque chose demandez moi

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo

10 réponses

Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Heeeeeeeeeee je viens de trouvé un truc qui me fait un peut peur là :
Citation du site de Ms :
Les fichiers d'en-tête de flux qui ont l'extension .h (inclure ) ont été désapprouvées dans Visual C++ 2002 et ont été supprimés dans Visual C++ 2005 et Visual C++ 2003. Par conséquent, l'exemple suivant ne fonctionnera pas dans une version de Visual C++ postérieure à la version Visual C++ 2002.
// test3.cpp
#include 
void main()
{
}

support.microsoft.com

Heeeeeeeee vous pensez que sa peut venir de sa ??? Si sa venais de sa je ne devrais pas avoir des erreurs de compil ???

Au secours je vais bientôt me pendre

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Bon je vais partir en week-end je n'en peut plus de cette $%£¤]#}
A priori n'est pas utilisé dans ce projet mais oui.
Vous pensez que sa peut être le mm problème et si oui si je devrais remettre "libcmtd.lib" dans la liste des lib exclues ????

Bon aller ras le bol je vais mourir si je continu à me prendre la tête là dessus

Bon week-end et à lundi

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

arf faute de frape il falais lire :
------
A priori n'est pas utilisé dans ce projet mais <stdio.h> oui.
------


Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Ajoute system("pause"); à la fin de ton main(). En fait la fonction est appelée mais dès qu'elle se finit le programme se ferme et cmd (MS-DOS l'interpréteur de commandes Windows) se ferme directement.
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

bà oui, mais non, la 1ér ligne de mon main est :
printf("test");


Et je n'est pas ce message qui s'affiche (mm si j'exécute mon programme depuis l'interpréteur de commandes Windows (c'est quand même plus long à dire que "console Ms.Dos" , mais bon tu à néanmoins raison c'est comme sa qu'on dit )

Enfin je veut bien testé même si je ne pense pas que sa fonctionne .
Code que je test :
void main(int argc,char *argv[])
{
   //Déclaration de mes variables (bà oui quand même ^^)
   printf("test");
   system("pause");
   //...
}


Bon bà comme je le pensais sa marche pas :
Affichage dans interpréteur de commande Windows (j'ai modifier le chemin d'exécution pour que sa soit plus court , j'ai évidemment bien vérifier que j'exécutais le bon ficher ):
E:\NewCompil>MonProg.exe

runtime error
E:\NewCompil>


Tiens j'ai pas fait un test :
Mettre toute ma fonction main en commentaire et en recréer une qui ne contienne que :

void main(int argc,char *argv[])
{
   printf("test");
   system("pause");
}

Soit aucune variable déclarer, et rien d'autre qu'affiché "test" et se mettre en pause.

Bon bà sa marche toujours pas exactement le même résultat :
E:\NewCompil>MonProg.exe

runtime error
E:\NewCompil>


Donc oui je confirme pas d'exécution du main (ce coup ci j'avais carment supprimer le fichier exe puis fait un "Rebuild", pour éviter la compilation incrémentale )

Bon bà je vais exclure de mon projet tout les fichier et recrée un fichier ne contenant que le main et les lignes ci dessus. Je tiens informé du résultat

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Arf ce coup ci sa marche
Mon code :
#include <stdio.h>
void main(int argc,char *argv[])
{
   printf("test");
//   system("pause");
}

Tiens je doit inclure quel fichier pour appelé la fonction "system" ?

Le retour :
E:\NewCompil>MonProg.exe
test
E:\NewCompil>


Bon bà déjà sa me donne une piste, je vais ré-inclure un par un les fichiers de mon projet et voir à quel moment sa ne marche plus (mais alors sa veut dire que mon projet contient une erreur qui n'est pas remonté au moment de la compilation zarb sa )

Je continu de vous tenir informé

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Haaaaaaaaaaaaaaaaaaa sa vas être super chiant à faire ce test en faite, "mes" fonctions s'appelles les une les autres (perso j'aurais pas fait sa comme sa, mais bon vue que c'est pas mes sources à l'origine ... Et il y à 50 fichiers C, et 30 fichier H, dans ce projet)
Bon bà je vais en chi__. Elle commence mal cette semaine

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Mais c'est quoi cette déclaration :
MODE FILE *fdbg;

En parcourant le code programme je suis tombé sur cette déclaration !
Je cherche sur "mes" cours (le site du zero, et d'autre) et je ne trouve rien sur cette façon de déclarer une variable
Je n'ai pas l'autorisation de modifier quoi que se soit dans le code programme sans justification (donc j'aurais du mal à justifier que je modifie les déclarations faites comme sa si je ne sait même pas à quoi sa correspond )
Quelqu'un à déjà vue sa ?

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

arf j'ai rien dit ce fichier n'étais pas inclue dans le projet de départ

MAIS QUE FAIT CE FICHIER DANS LE DOSSIER DES SOURCES ALORS !

Raaaaaaaaaaa mon chef vas m'entendre (c'est lui qui à la responsabilité de tenir les dossiers des sources propre) !

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Bon bà quand sa veut pas sa veut pas
J'abandonne pour le moment si vous avez une idée n'hésitez surtout pas.

Sa c'était de la mauvaise fois, si j'aurais sans doute fait comme sa moi aussi :
[...] "mes" fonctions s'appellent les une les autres (perso j'aurais pas fait sa comme sa, mais bon vue que c'est pas mes sources à l'origine [...]


Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo