EXE ו LIB בפרוייקט אחד

the new L

New member
EXE ו LIB בפרוייקט אחד

שלום לכולם, יש לי פרוייקט בMFC אני עובד ב VC6 ואני מעוניין שאותו הפרוייקט חוץ מליצור לי קובץ EXE ייצור לי גם LIB שאפשר יהיה להתלנקג' בו עם חלק מהמחלקות שלי. יש אפשרות לעשות דבר כזה? תודה
 

DNile

New member
לא.

Lib וEXE הם שני פרויקטים נפרדים. אבל אתה יכול לשים את שניהם באותו Workspace, וליצור dependencies מתאימים.
 

the new L

New member
גרררררררררררררר

VC ארור, ביוניקס זה ממש קל
 

vinney

Well-known member
לא זה לא

אם אותם קבצי OBJ משמשים ליצירת EXE זה אומר שיש בהם פונקציית main. ב UNIX אתה אומנם יכול ליצור LIB/A בלי בעיה עם הקבצים האלה, אבל קישור שלהם לתוכנית אחרת תגרום לשגיאה כי יהיה לך פעמיים MAIN. יותר נכון לשים את הקטע המשותף לפרוייקט נפרד שיצור לך LIB ולעשות dependencies, כמו שדניאל אמר
 

the new L

New member
מה שהתכוונתי

זה שאתה יכול בMAKEFILE אחד ליצור 2 targets אחד של lib ואחד של executable ואז פשוט אתה לא שם בחלק של ה lib את הקובץ שמכיל את main שלך.
 

vinney

Well-known member
ומי מונע ממך לעשות את זה פה?

תכתוב MAKEFILE, תריץ MAKE, תעשה את זה. יש NMAKE בתוך ספריית BIN של VISUAL STUDIO, הרבה הצלחה
הסינטקס טיפה שונה מהMAKE הסטנדרטי, אבל זה בעיקר בגלל השוני בין UNIX לDOS.
 

the new L

New member
עוד שאלה

מידי פעם אני משנה STATIC LIBRARY שאני עובד עליו. יש דרך להגיד לVC לעשות RE-LINK (בניגוד ל REBUILD שאני נאלץ לעשות כרגע)?
 

DNile

New member
אני די בטוח

שהDependencies בין הפרויקטים אמורים לטפל בסוגיה הזאת בשבילך.
 

the new L

New member
שאלה

אני צריך בשביל זה ששני הפרוייקטים יהיו באותו WORKSPACE? איך אני הופך הת הפרוייקט שלי ל DEPENDENT על פרוייקט אחר?
 

gmorphus

New member
נכון

אני משתמש בזה באופן קבוע. עובד מצוין. אתה שם את שני הפרוייקטים באותו worksapce (וכמובן יוצר "תלות" כמו שדניאל הסביר) ואז אתה יכול להגדיר את הפרוייקט שאמור להשתמש בLIB כפרוייקט האקטיבי, וכל שינוי שאתה עושה בקבצים של הLIB (בלי שהוא יהיה אקטיב) יקמפל את הLIB וילנקג' את השני... רק אל תשכח לוודא שהלינקוג' יהיה לתיקייה הנכונה (debug או release...) חוץ מזה, כדי לעשות את מה שאתה רוצה, אתה יכול ליצור פרוייקט MFC, וליצור פרוייקט נוסף שישתמש ממש באותם קבצים שיצור LIB וככה זה די שקוף...
 

cganir

New member
אפשר לעשות את זה בדרך מאד פשוטה.

צור לך 4 אפשרויות BUILD. שתיים ל LIB ושתיים ל EXE. שים את כל הקוד הספציפי ל LIB בין IFDEF אחד שיבדוק האם אתה במצב שך LIB (הגדרה במאפיינים של הפרויקט) ואת ה MAIN וקד אחר שקשור ל EXE שלך בין IFDEF שיבדוק האם אתה בונה EXE. לא מסובך מדי.
 
למעלה