ERROR בוויז'ואל סי

לירונר

New member
ERROR בוויז'ואל סי

שלום רב. אני מנסה להריץ תוכנית, שעוברת קומפילציה כמו שצריך, אבל איך שלוחצים על "
" - מופיעה האזהרה הבאה :
visual.obj : error LNK2001: unresolved external symbol _del_after visual.obj : error LNK2001: unresolved external symbol _PRACTICE_LIST_INIT visual.obj : error LNK2001: unresolved external symbol _PRACTICE_QUESTIONS_INTAKING visual.obj : error LNK2001: unresolved external symbol _list_init Debug/visual.exe : fatal error LNK1120: 4 unresolved externals Error executing link.exe. visual.exe - 5 error(s), 0 warning(s)​
מישהו יודע מה הבעייה
אם אני מריץ את אותו הדבר בבורלנד, אין שום ERRORים כאלה...
 

GLev

New member
איזה גירסה ה vs?

6 או 7? רוב הסיכויים שזה בעיה עם הקובץ stdafx או שתוריד אותו מהגדרות פרוייקט או שתשחק עם ה include שלו...
 

vinney

Well-known member
עברה קומפילציה?

היא לא עברה קישור אף פעם, זה בטוח. תנסה לעשות Build All, ותראה מה השגיאות/אזהרות שאתה מקבל. תוודא שאתה בwarning level 3 לפחות לפני זה.
 

לירונר

New member
זה נותן בדיוק את מה שכתבתי בהודעה

וכן, היא עברה קומפילציה...
visual.obj - 0 error(s), 0 warning(s)​
והנה שוב מה שנרשם לאחר "BUILD"
Linking... visual.obj : error LNK2001: unresolved external symbol _del_after visual.obj : error LNK2001: unresolved external symbol _PRACTICE_LIST_INIT visual.obj : error LNK2001: unresolved external symbol _PRACTICE_QUESTIONS_INTAKING visual.obj : error LNK2001: unresolved external symbol _list_init Debug/visual.exe : fatal error LNK1120: 4 unresolved externals Error executing link.exe. visual.exe - 5 error(s), 0 warning(s)​
 

DadleFish

New member
לירונר,

כדי להשתמש בסימבולים האלו, כמו del_after_ למשל, עשית איזשהו include. איזה include זה? אם אתה לא יודע - תעלה את כל ה-include-ים שעשית.
 

לירונר

New member
אה, זה קובץ שאני כתבתי...

קוראים לו p_list.h, ויש לו גם קובץ C. זה קובץ שנכתב בעבר, עבר קומפילציה ועבד כמו שצריך. ושוב - בבורלנד הכל עובד...
 

HaRmosh

New member
האם הוספת לפרוייקט את הקבצים

שבהם ממומשות הפונקציות עצמן ? לדעתי זו בעיה שנובעת מכך שהלינקר לא מוצא את גופי הפונקציות.
 

לירונר

New member
מה זאת אומרת "האם הוספת לפרוייקט"?

בעיקרון כל הקבצים נמצאים באותה התיקיה, ויש גם את האינקלודים השונים שמחברים בין הקבצים...
 

לירונר

New member
אוקיי, עכשיו זה עובד ../images/Emo13.gif

עשיתי "פרוייקט" -> "הוספת קובץ" כנראה שבאמת זה לא היה ביחד...
רבה לכולכם ומצטער על הטרחה
 

vinney

Well-known member
שים לב

כשאתה אומר "עבר קומפילציה", בדרך כלל מסיקים מזה שנוצר EXE בסוף, וזה לא כך
להבא, כל unresolved links זה קובץ C שלא צורף לפרוייקט כמו שצריך.
 

DadleFish

New member
אתה טועה.

תהליך הקומפילציה הוא השלב שבו קבצי קוד מקור הופכים לקבצי שפת מכונה - כלומר קבצי OBJ. כדי להפוך את כל קבצי ה-OBJ לקובץ EXE אחד, או לקובץ DLL אחד - אתה צריך לעבור שלב של LINKAGE.
 

vinney

Well-known member
סמנטיקה

זה נכון מה שאתה אומר, אבל לי אישית לפחות ברור מההקשר שכשאומרים "עבר קומפילציה" מתכוונים לזה שנוצר תוצר.
 

לירונר

New member
לא ממש...

אצלי בפורומים אני זה שקובע מי יופיע בעמוד הראשי... אני מכניס לבד את המספר של הכרטיס האישי
 

Zack DA

New member
אין בזה הגיון....

צריך, לפי נוסחה הגיונית, לתעדף בין השירשורים....
 

לירונר

New member
יש רק בעייה קטנה אחת...

אם לוקחים את זה ראנדומלית, יש הרבה מאוד כרטיסים שלא מתאים להם להופיע בעמוד הראשי. כמו כרטיסים בלי תמונה (האופציה הזו דורשת תמונה מפורמט JPG) ו/או כרטיסים ללא תוכן... בטוח יש עוד כמה סיבות
 
למעלה