לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 14-11-2008, 12:54
  Al_Madmal Al_Madmal אינו מחובר  
 
חבר מתאריך: 15.10.05
הודעות: 559
בעיה בקימפול בVISUAL C++ 2008 EXPRESS

יש לי בעייה בקימפול
הכנתי פרוייקט שבתוכו תוכניות שלא קשורות אחת לשנייה דווקא, אלא הכל חלק מאותו תרגיל שאני צריך להגיש.
הבעיה היא שבשלב מסויים אני מקבל את השגיאה הזו כשאני מנסה לבנות את התוכנית:
1>------ Build started: Project: targil2, Configuration: Debug Win32 ------
1>Compiling...
1>2.cpp
1>tar2.cpp
1>q6.cpp
1>Generating Code...
1>Compiling...
1>input.cpp
1>Linking...
1>tar2.obj : error LNK2005: _main already defined in 2.obj
1>q6.obj : error LNK2005: _main already defined in 2.obj
1>tar2.obj : error LNK2005: _main already defined in 2.obj
1>q6.obj : error LNK2005: _main already defined in 2.obj
1>C:\Documents and Settings\Gilad\My Documents\Visual Studio 2008\Projects\targil2\Debug\targil2.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://c:\Documents and Settings\Gilad\My Documents\Visual Studio 2008\Projects\targil2\targil2\Debug\BuildLog.htm"
1>targil2 - 5 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

הפתרון היחיד הוא רק לפתוח פרוייקט חדש ולהכניס את זה לשם.
מה הוא רוצה ממני? ומה לעשות בנוגע לזה?
תודה רבה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 22-11-2008, 07:31
  el_ninyo el_ninyo אינו מחובר  
 
חבר מתאריך: 22.11.08
הודעות: 28
בתגובה להודעה מספר 1 שנכתבה על ידי Al_Madmal שמתחילה ב "בעיה בקימפול בVISUAL C++ 2008 EXPRESS"

אתה צריך להבין איך כל העניין עובד ותבין שזה לא אפשרי בכלל. יש לך את השלב של הקומפילציה, שהוא בודק את כל התוכנית שלך ולאחר סיום מוצלח הוא מכין קבצי o . לאחר מכן הוא מחבר אותן בעזרת כלי שנקרא linker. ה linker מחפש main יחיד, אם הוא רואה 2 זאת שגיאה , זה לא יעבוד לך.
עכשיו מה ניתן לעשות?
הפתרון שהציעו לך עם הפונקציות הוא טוב מאוד, תשים כל תרגיל בפונציה, תתן main ראשי שבו יש
argcv ו argc ואז קקלט ממערכת ההפעלה אתה תבחר איזה פונקציה להפעיל.

עוד דרך זה בעזרת macro. בעזרת המנגנון של ה pre-proccesor.
אתה עושה לדוגמא דבר כזה:

define TARGIL_TWO#

ifdef TARGIL_ONE#
main 1
#else
#endif

ifdef TARGIL_TWO#
main 2
#else
#endif
.....
כיוון שהגדרת את TARGIL_TWO הקומפיילר יראה רק מה שרשום ב main2
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:58

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר