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

מידע פנימי לתמיכה של Microsoft

באג #: 101959 (Visual Studio)

סיכום

בעת בניית קובץ DLL באמצעות גירסת 64 סיביות של Microsoft מהדר C++ חזותיים ושל מקשר, ייתכן שתקבל מקשר מספר שגיאה LNK4197 אם פונקציה הוכרז לייצוא יותר מפעם אחת.

תופעות

ייתכן פלט מקשר הדומה להודעה הבאה:

C:\>link /NOLOGO /def:Sample.def /pdb:Sample.pdb /out:Sample.dll  Sample.objSample.obj : warning LNK4197: export 'DllSample' specified multiple times; using first specification   Creating library Sample.lib and object Sample.exp 

סיבה

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

  • הפונקציה מוצהרת באמצעות מילת המפתח __declspec(dllexport) בקובץ המקור שלך C:

    __declspec(dllexport) int DllSample() {   return 42;}
  • הפונקציה מוצהרת באמצעות הגדרת המודול (. קובץ DEF):

    EXPORTS   DllSample

שגיאה מקשר זו עלולה להתרחש לעתים קרובות כאשר הן מילת המפתח של __declspec(dllexport) ו- a. קובץ DEF משמשות להגדרת שם הפונקציה זהה. פרוייקט ה-DLL.

פתרון

כדי לפתור אופן פעולה זה, להגדיר פונקציות מיוצאות פעם אחת בלבד, על-ידי שימוש במילת המפתח __declspec(dllexport) או באמצעות. קובץ DEF. אין להשתמש בשתי שיטות אלה.

מצב

אופן פעולה זה הוא מכוון.

מידע נוסף

הצהרה פונקציה עבור ייצוא יותר מפעם אחת עשויה לא הפיק מקשר השגיאה המתוארת בסעיף 'מאפייני הבעיה' במאמר זה בגירסאות 32 סיביות של Microsoft Windows C++ המהדר ו מקשר. עם זאת, Microsoft ממליצה להגדיר פעולות ייצוא של הפונקציה פעם אחת בלבד בגירסאות 32 סיביות ו- 64 סיביות של Windows C++ המהדר ו מקשר.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

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

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×