غير موجود خارجي في برنامج C على WIN 32 في Visual Studio 2008

StackOverflow https://stackoverflow.com/questions/1470986

سؤال

لماذا لا يترجم برنامج C. هذا ما تعني رسائل الخطأ:

#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;
}

خطأ ERRS: خطأ 4 خطأ LNK2019: رمز خارجي لم يتم حلها _winmain @ 16 المشار إليها في الوظيفة ___tmaincrtstartup خطأ MSVCRTD.LIB خطأ 5 خطأ فادح LNK1120: 1 خارج الخارج

هل كانت مفيدة؟

المحلول

تحقق من إعدادات رابطك (خصائص PProwject-> نظام روابط>>.

يجب تعيين خاصية النظام الفرعي على وحدة التحكم

نصائح أخرى

أنت تجميع تطبيق Windows (Win32) ولكن لديك وظيفة رئيسية () بدلا من WinMain ().

يجب عليك إما تغيير نوع مشروعك إلى نوع من تطبيق وحدة التحكم (لا تتذكر بالضبط ما يسمى بهذا ما يسمى) أو قراءة حول كتابة تطبيقات Windows.

المشكلة هي أن تطبيقات WIN32 تستخدم WinMain () لوظيفتها الرئيسية وتطبيق حلقة رسالة هناك. لذلك عند محاولة ترجمة تطبيق Win32 دون تحديد وظيفة WinMain ()، يشكو المحول البرمجي عن ذلك. سيحدث شيء مماثل إذا كنت تكتب تطبيق وحدة التحكم ولن يقدم وظيفة رئيسية ().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top