ورود

View Full Version : سوال: release پروژه ...



ostovarit
چهارشنبه 28 اردیبهشت 1390, 16:21 عصر
با سلام و خسته نباشید
پروژه (یک dll است)روی سیستم من بدون مشکل کامپایل میشه و در زمان تست کار رو به درستی انجام میده ...
وقتی رو سیستم client محتوای فولدر Debug رو کپی می کنم ... مشکل داره و لود نمیشه ... کل پروژه رو کپی کردم رو سیستم کلاینت بازم حل نشد ... ویژال استودیو رو روی سیستم کلاینت نصب کردم مشکل حل شد!!!:متفکر:

گفتم شاید وقتی ویژال نصب میشه dll به فولدر System32 اضافه میشه ... برای همین با برنامه TaskInfo کتابخانه های مورد استفاده در زمان تست dll رو بررسی کردم ودیدم همشون قبل از نصب ویژال هم در فولدر System32 کلاینت موجود هستند...

ویژال رو که نمیتونم بگم تمامی کلاینت ها رو سیستم نصب کنن گشتم یک پک پیدا کردم:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee

که با نصب این هم مشکلی حل نشد و همچنان dll لود نمیشه ...

گفتم روی حالت Releas پروژه رو کامپایل کنم ... پروژه حاوی سه dll است که بهم لینک شده اند ... در زمان کامپایل به خط زیر گیر داد :


#include "globalplatform/globalplatform.h"


تمامی فایل های dll و .lib رو کنار dll اصلی و یک بار هم در فولدر System32 قرار دادم و لی بازم dll لود نشد
:ناراحت:

لطفا راهنمایی کنید :اشتباه:

ostovarit
شنبه 31 اردیبهشت 1390, 08:57 صبح
اون فایلی رو که پیدا نمیکرد برای یک پروژه دیگه بود که بهش لینک شده ... گذاشتم تو فولدر پروژم دیگه بهش گیر نداد ...
ولای کلی ارور به این شکل بهم داد:
Error 21 error LNK2001: unresolved external symbol __imp__OP201_delete_application gpshell.obj GDll


پاورقی: انقدر سوال های تخیلی پرسیدیم که فک کنم دوستان تحریممون کردن :لبخند: ... تو نتم که کلا مطلبی گیر نیوردم که مشکلم رو حل کنه ...

mehdi.mousavi
شنبه 31 اردیبهشت 1390, 20:50 عصر
اون فایلی رو که پیدا نمیکرد برای یک پروژه دیگه بود که بهش لینک شده ... گذاشتم تو فولدر پروژم دیگه بهش گیر نداد ...
ولای کلی ارور به این شکل بهم داد:
Error 21 error LNK2001: unresolved external symbol __imp__OP201_delete_application gpshell.obj GDll


پاورقی: انقدر سوال های تخیلی پرسیدیم که فک کنم دوستان تحریممون کردن :لبخند: ... تو نتم که کلا مطلبی گیر نیوردم که مشکلم رو حل کنه ...

سلام.
وقتی پروژه رو از Debug به Release تبدیل می کنید، مطمئن بشید که کل پروژه های Link شده نیز در حالت Release کامپایل شده اند... پیشوند __imp__ در خطای فوق، (اگر درست خاطرم مونده باشه) نشون میده که ایراد در پیاده سازی تابعی هستش که import/export شده. این ایراد میتونه بدلیل استفاده از pragma ها باشه، یا بدلیل عدم آدرس کردن Library مورد استفاده در حالت Release. قبل از هر چیز، توی Visual Studio روی نام پروژه Right Click کنید، سپس گزینه Properties رو انتخاب کنید. از درخت سمت چپ، گزینه Configuration Properties > Linker > Input رو انتخاب کنید و مطمئن بشید Library های ذکر شده در بخش Additional Dependencies دقیقا همون هایی هستند که در همین بخش، برای حالت Debug ذکر شده (بازهم میگم، دقت کنید که کلیه پروژه های مرتبط رو همگی در حالت Debug یا Release کامپایل کنید. بسته به شرایط، عدم هماهنگی بین نسخه های مورد استفاده در برنامه میتونه خطاهایی رو پیش بیاره).

موفق باشید.