שאלה בקשר לCL

b o n f i r e

New member
שאלה בקשר לCL

CL - command line compiler של ויז'ואל סטודיו. כשאני מקמפל איזושהי תוכנית הלינקר נותן לי fatal error - Unresolved external symbol _WinMain@16 ניסיתי להגיד לו שזו תוכנה בסביבת חלונות וזה לא עזר. מה עושים? איזה אופציות צריך לתת ללינקר (link.exe) כדי שהוא יעבור את המכשול הזה? אם אין לכם רעיון - אז באיזה command line compiler כדאי להשתמש אם לא בזה של ויז'ואל סי (אם אתם חושבים שזה יעזור)
 

annefan

New member
הבעיה והפתרון

הבעיה היא שהלינקר חושב שזו אפליקצית windows, ולכן פונקציית הכניסה (main) צריכה להיות WinMain ולא main. הפתרון (שמתועד אצל ריכטר) הוא למחוק מהפרמטרים של link בהגדרות הפרוייקט את האופציה:
/subsystem: windows​
בעקרון, אם אתה מגדיר את זה, הלינקר הולך אתך. אם אתה לא מגדיר את האופציה הזו בכלל, הלינקר מגלה לבד מי ה-main שלך, ומלנקג' כמו שצריך.
 

b o n f i r e

New member
זהו שזה לא זה...

הגדרתי לו entry point שונה (WinMainCRTStartup) כי בזה אני משתמש.. והוא עדיין מחפש את WinMain.
 
למעלה