Sin resolver externas en C-programa en Win 32 en Visual Studio 2008
-
16-09-2019 - |
Pregunta
¿Por qué no este programa de C-compilar y lo que hace los mensajes err se refiere a:
#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;
}
desastre Err: Error LNK2019 4 error: sin resolver símbolo _WinMain externa @ 16 referencia en función ___tmainCRTStartup MSVCRTD.lib Error 5 LNK1120 error fatal: 1 externos sin resolver
Solución
Compruebe la configuración del vinculador (Proyecto Properties-> Linker-> Sistema).
La propiedad subsistema deberá ser ajustado en CONSOLA
Otros consejos
Está compilando una aplicación de Windows (Win32), pero tienen función main () en lugar de WinMain ().
Debe o bien cambiar el tipo de su proyecto a algún tipo de aplicación de consola (no recuerdo exactamente cómo se llama eso) o leer acerca de cómo escribir aplicaciones de Windows.
El problema es que las aplicaciones Win32 utilizan WinMain () para su función principal e implementar un bucle de mensajes en ese país. Así que cuando intenta compilar aplicación Win32 sin definir un WinMain () funcionar el compilador se queja de eso. Algo similar ocurriría si desea escribir una aplicación de consola y no proporcionaría una función main ().