2009-09-24 7 views
0

Pourquoi ne pas-programme C compiler et ce qui ne les messages err signifient:Unresolved externe programme C sur Win 32 dans Visual Studio 2008

#include <stdio.h> 
int main() { 
    char op = ' '; 
    char cont = ' '; 
    int tal1 = 0; 
    int tal2 = 0; 
    int result; 
    int ok = 1; 
    printf("Welcome\n"); 
    do { 
     printf("Which one (+ - * /)? "); 
     scanf("%c", &op); fflush(stdin); 
     printf("Number?: "); 
     scanf("%d", &tal1); fflush(stdin); 
     printf("Number: "); 
     scanf("%d", &tal2); fflush(stdin); 
     ok=1; 
     switch(op){ 
     case '+': 
      result=tal1+tal2; 
      break; 
     case '-': 
      result=tal1-tal2; 
      break; 
     case '*': 
      result=tal1*tal2; 
      break; 
     case '/': 
      result=tal1/tal2; 
      break; 
     default: 
      printf("Wrong\n"); 
      ok=0; 
      break; 
     } 
     if(ok) 
      printf("Answer: %d\n", result); 
     printf("Continue? (j/n)"); fflush(stdin); 
    }while (cont == 'j'); 
    printf("Thanks!\n"); 
    return 0; 
} 

mess Err: Erreur 4 Erreur LNK2019: non résolus symbole externe _WinMain @ 16 référencé dans la fonction ___tmainCRTStartup MSVCRTD.lib Erreur 5 erreur fatale LNK1120: 1 externes non résolus

Répondre

1

Vérifiez les paramètres de votre éditeur de liens (Propriétés du projet> Linker-> Système).

La propriété SubSystem doit être réglé sur CONSOLE

+0

Ok, merci beaucoup! –

0

Vous compilez une application Windows (win32) mais ont la fonction principale() au lieu de WinMain().

Vous devez soit changer le type de votre projet pour une sorte d'application de console (ne vous souvenez pas exactement comment cela s'appelle), soit lire sur l'écriture d'applications Windows.

Le problème est que les applications Win32 utilisent WinMain() pour leur fonction principale et implémentent une boucle de messages dans ce dernier. Ainsi, lorsque vous essayez de compiler une application win32 sans définir de fonction WinMain(), le compilateur se plaint de cela. Une chose similaire se produirait si vous écrivez une application console et ne fournirait pas une fonction main().

+0

Ok, merci beaucoup, bonne réponse! –