الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مرة أخرى:مشكلة في لغة ++C نفسها:في الترجمة

مغلق
بدأه eias في 7 نوفمبر 2005 · 24 رد · 1,790 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

عادت المشكلة نفسه التي واجهتني قبل مدة و هي أنه كلما عملت مشروع جديد بلغة VC++ و إن كان الكود صحيح 100% يظهر خطئين من مكان غير معروف :( وهما كالتالي:

--------------------Configuration: 5 - Win32 Debug--------------------
Compiling...
5.cpp
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/5.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
5.exe - 2 error(s), 0 warning(s)

ما مشكلته يا جماعة ..هل هناك ملفات ناقصة ..ما مشكلة هذه اللغة.

#2

يبدو انك اختاريت نوع المشروع win32 و لكنك كتبت البرنامج على اساس انه console؟

#3

السلام عليكم

الف شكر يا باشا

دا انا مخدش بالي خالص وانا بختارها اظاهر من السرعة مشفتش انا بختار ايه

سلام

Web Developer using JSP & Servlet

اللهم انصر الإسلام والمسلمين وأهلك الكفرة أعداء الدين

#6

هذه العبارة تظهر في كل أنواع المشاريع حتى صارت تعدي الMFC ..أشعر بأن اللغة ملخبطة عملت من قبل ReInstall و لم يحدث شيء..طيب هل فهمتم شيء من الأخطاء هذه لاتوجد بكل المشروع

#7

يا eias طالما الخطأ نفسه يظهر , فانت لم تختار الـ consol project

اليك هذه الخطوات

1 - انشاء مشروع جديد واختيار نوعه وحدد اسمه

09_11_05_08_31_04_1131597064eias1.JPG

2 - اضغط Ok لتظهر لك هذه الصوره

09_11_05_08_33_27_1131597207eias_.JPG

اضغط على application settings

3 - تظهر لك هذه الصوره , اختر نفس الاختيارات

09_11_05_08_37_12_1131597432eias3.JPG

بعدها اضغط finish

4 - طبعا المشروع خاوي , لهذا نضيف ملف للكود بهذا الشكل

09_11_05_08_38_42_1131597522eias4.JPG

09_11_05_08_39_00_1131597540eias5.JPG

الآن تستطيع كتابة الكود وترجمته دون مشاكل

مثال

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
  cout << "Your Program Will Work Like Me En Shaa Allah Ya EIAS" << endl;
  cout << "\n\n\tAhmed\n" << endl;
  return 0;
}

ترجمه

------ Build started: Project: eias, Configuration: Debug Win32 ------

Compiling...
Main.cpp
Linking...

Build log was saved at "file://d:\Documents and Settings\ahmed\My Documents\Visual Studio Projects\eias\Debug\BuildLog.htm"
eias - 0 error(s), 0 warning(s)


---------------------- Done ----------------------

    Build: 1 succeeded, 0 failed, 0 skipped
#8

أخي الكريم Asm4All شكرا لك ردودك دائما رائعة ...ولكن للأسف أنا عندي المشكلة فقط في C++6 أي القديم .. ولكن هل اللغتين نفس الكودات..سأستعملها لو كان ذلك ..:lol:

#9

ماذا اللغة تنتظر يا جماعة :lol: طيب أعطوني اسم نادي انكليزي خاص بال ++C أريده احترافي حتى يعرفوا يجاوبوا ..لا بد في عندهم أيضا حالات مستعصية

#10

انا كان يطلع عندي بعض الاحيان كذا

ويكون الخطأ في البوينتر غالبا او خطأ غير واضح ماتفهمه اللغة

فتأكد من الاقواس لا تكون زايدة أو البوينتر

#11

شكرا لك أختي الكريمة..بس المشكلة البرنامج ما في حتى كود واحد..بس Main ..يعني هيأت له كل السبل ليكون صحيح..فعلا غريبة .

#13
eias كتب:
هزلت هل عجزتم..الحقيقة أحد الاخوة الأجانب أعطاني رابط بس معقد شوي..:lol:

معقد !!!! ليه اعطاك كود ؟؟؟؟
#14

خلاص اترك السي وارجع للفيبي :P

شوف الدرس اللي هنا ,,,,, يمكن تمشي معك :) ,,

http://www.functionx.com/cpp/Lesson01.htm

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#15

يالطيف كل هذا Intro .. :lol: سأرى الدرس ...شكرا لكم..لكن لا تفرحوا لم تنفدوا بعد إذا لم تحل المشكلة :lol : حليتها فقط حاليا على MFC

#17
اقتباس
لكن لا تفرحوا لم تنفدوا بعد إذا لم تحل المشكلة :lol :

يا eias , صلي على النبي كدا , وقولي يعني ايه الكام سطر دول

Cause:
The linker is looking for the entry point for a console application, but the application is being compiled and linked as a windows application (i.e. not a console application).

انت جربت تعمل مشروع من الأول وتختاره console application مثل ما قلنالك من قبل ؟؟؟

يا ريت تضع خطواتك بالصور في انشاء المشروع علشان نعرف انت غلطت فين

لأن المشكله محلوله من البدايه لكن شكلك بتلاعبنا :P

#18

مش لازم تغير المشروع, تستطيع تغييره من خيارات الـ linker هناك خيار subsystem في مكان ما ضمن الـ project options خليه console

#19

شكرا لكم إخواني الكرام ..لاوالله كانت ولازالت مشكلة بالفعل إنتو أساتذتي معقول يعني :lol:

لكن لاحظ لو عملت ترجمة(لاحظوا لم أقل بناء) ..فإن الترجمة تنجح ولكن لو عملت بناء تظهر المشاكل ..

أخي الكريم عاصم Asm4All هذا الكلام كما هو واضح معناه إني عملت طيبق console على أساس تطبيق Windows ولكن كيف يمكن أن أقع بهذا الخطأ ...قصدي أنا عملته كما كنت أعمل مشاريع الConsole من قبل .. هو المشكلة إني لم أغير شيء..و لكن أنتم ما اقتراحاتكم ..ممكن يكون عندي خطأ في المترجم لأن الentry point لم تحل المشكلة ..يعني الخطا الآن محصور بالBuild فقط..

..و المشاكل بشكل خاص تظهر عندما أعمل مشاريع Windows.h باستخدام الApi مثل مشاريع الأخ الشمري..أذهب لمشروعة السابق فينجح ولو أني نسخت نفس الكود في مشروعي لا ينتجح .. يا أخي اللغة بتحبه :lol:

وشكرا لكم

#20

أخي eias

بإختصار برامج C/C++ تحت DOS أو ِConsole في بيئة و يندوز تبدء كلها من الدالة main()

برامج windows تبدء من دالة أخرة هي WinMain

المشكلة التي تقع فيها أنك تبدء مشروع Win32 Projects أي دالة البداية هي WinMain() ولا يوجد شيئ إسمه main()

عندما تعمل Compile كل شيئ تمام

لكن عند عمل Link لا يجد الدالة WinMain() في الملف .obj الناتج عن Compile و بالتالي لا يعرف نقط بدء البرنامج أو مكان وجود الأوامر المراد تنفيذها في EP في الملف التنفيذي

هل فهمت ؟

d4baa0.gif
#21

أخي الكريم DeltaAziz الحقيقة فهمت عليك بس ولكني راعيت هذا الموضوع ..يا رجل كأن هذه اللغة تريد العبث معي ..

على كل هذه صور كما طلب الأخ الكريم Asm4All فيها خطوات لأتفه مشروع ممكن ينعمل ..

post-21179-1131905736_thumb.jpg

post-21179-1131905938_thumb.jpg

#22

:angry:

اي ده يا عم اياس .. عايز تجنني؟

بقالنة بنقولك ايه من الصبح!!!

اختار

win32 console application

و ليس

win32 application

يعني الخيار اللي تحتيه على طول!!!!!!

:rolleyes:

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 14 نوفمبر 2005 في 02:10

#23

إياس , مبروك , انت جبتلي الضغط :wacko:

شايف الصوره دي

msvcnew1.gif

تعرف جايبها منين ؟؟

من الرابط اللي وضعه الشمري ليك وانت دخلت عليه

يعني حسن قالك الخطأ في نوع المشروع , وبعدها وضعتلك صور توضح لك اختيار consol project , بعدها الشمري ده غير الناس الأجانب , بعدها DeltaAziz , ولسه مش مصدق ان العيب في نوع المشروع :s

وبعدين

اقتباس
أخي الكريم عاصم Asm4All
رهيييييييب , بعد كدا قول يا عاصم علطول طالما عرفتها بنفسك , ومفيش داعي تقول الاسم الحركي

أكيد حتلاقي حد في المنتدى اسمه عاصم :P

#24

أخ Asm4all:

غريبـة لك ثلاثة أسماء .... الاسم المستعار Asm4all ، الاسم الحركي عاصم ، الاسم الحقيقي أحمد..

ما شاء الله

#25

شكرا لكم إخواني الكرام ..الحقيقة لم أكن أعرف أن الموضوع بهذه الدقة..و ربما لأني مرة اخترت النوعين و لم تنح..و لكن الآن نجحت 100 % فعلا :lol: اعتذرنا منكم الآن نذهب لبقية النوادي الأجنبية نلحق نعتذر من الباقين :lol:

هذا الموضوع مغلق.

مواضيع مشابهة