עבור לתוכן

איך מגדירים ב-visual studio 2005 שיזהה קבצי dll שבאים עם toolkit חיצוני?

Featured Replies

פורסם

אני משתמש ב-toolkit של גרפיקה שנקרא Coin3D שאמור להתממשק ל-VS ע"י ממשק שנקרא SoWin.

הגדרתי את ספריית הקבצים ב-System environmental variables. כשאני מריץ תוכנית שבניתי לנסיון הכל מתקמפל כמו שצריך בלי שגיאות, אבל אחרי שאני מריץ את התכנית עם F5 אני מקבל הודעת שגיאה שאחד מקבצי ה-dll חסר.

עכשיו אותו קובץ נמצא בספרייה שהוגדרה כבר. האם יש מקום מסוים ב-VS שצריך להגדיר בו ספריות שבהן צריך לחפש את הקבצים האלו?

הידע שלי ב-VS כמעט אפסי, אז זה כנראה משהו מאוד בסיסי ששכחתי לעשות, שלא צריך בשבילו להכיר את ה-toolkit הזה ספציפית. אני אשמח לכל הכוונה שהיא!

פורסם
  • מחבר

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

בכל אופן, השפה היא C++. נכנסתי לקישור שנתת פה ואפשרתי את ה-SafeDllSearchMode כמו שכתוב שם אבל זה לא עזר. ניסיתי גם להוסיף את הספרייה שה-dll נמצא בה ל-PATH אבל גם זה לא עזר משום מה.

התכנית עצמה מתחילה לעבוד, אבל איך שנפתח החלון מתקבלת ההודעה:

"This application has failed to start because coin2.dll was not found. Re-installing the application may fix this problem"

זה נראה לי משהו מאוד בסיסי שאני מפספס, יש למישהו איזשהו מושג מה חסר פה?

פורסם

http://www.coin3d.org/doc/windows/tutorial/hello_coin

ניסית לפעול על פי ההוראות שם ? ניסית לשים את הקובץ coin2.dll בתיקיות ה system32 של חלונות ?

הגדרת משתנה סביבה כפי שנדרש שם ?

http://mailman.coin3d.org/pipermail/pivy/2005/000083.html

required dlls are coin2.dll, sowin1.dll, simage1.dll in %COIN3DDIR%\bin

פורסם
  • מחבר

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

בסופו של דבר, אחרי חרישת פורומים באינטרנט הבעיה נפתרה!

למי שיתקל בעתיד בבעיה דומה (ר' הודעת שגיאה שרשומה באחת ההודעות למעלה), עבור כל קובץ dll, אני אכתוב מה מצאתי בפורומים ומה צריך לעשות:

הבעיה, לפי מה שקראתי נובעת משתי סיבות אפשריות:

א) חסרה הגדרה של environmental variable, שזה לא מה שקרה אצלי, אבל לזה יש פתרון פשוט ודווקא לזה יש הנחיות באתר.

ב) קובץ dll לא קיים או דפוק (זו היתה הבעיה אצלי).

מה שהיה צריך לעשות זה להוריד מהאתר שלהם את קוד המקור (binaries) שכתוב ב-C++ ולפתוח עם VS את קובץ ה-sln שמתאים לגרסא של VS (במקרה שלי 8, אבל היו כמה גרסאות שונות). לעשות build solution ארבע פעמים: ל-debug ול-release פעמיים לכל אחד (LIB ו-DLL: משנים את זה דרך אחת הלשוניות במסך הראשי של VS).

זהו. אחרי כן זה פשוט עבד!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים