واضح آرشیو وب فارسی:سایت ریسک: cpplover13-01-2008, 06:33 PMبا سلام زمانی که یک برنامه را در visual c++ کامپایل می کنم و یک فایل اجرایی ایجاد می شود زمانی که تمام فایل های ایجاد شده را به کامپیوتر دیگری منتقل می کنم برنامه در آن کامپیوتر اجرا نمی شود و مثلا خطایی از عدم وجود یک dll از طرف کامپیوتر صادر می شود حالا میخواستم بدانم چطور میشه کاری کرد که برنامه های من در کامپیوتر های دیگر بدون هیچ مشکلی اجرا شوند ؟ m3hrz4d13-01-2008, 08:27 PMبرنامه رو با چی نوشتین یعنی مثلا MFC, ATL یا Win32 Application و در چه ورژنی از VS ؟ 98 , 2002 یا 2005 ؟ در صورتی که MFC یا ATL استفاده کردین باید DLL های و فایل های مربوط به این ها(برای MFC بجز DLL اصلی که میتونین درون خود فایل EXE قرارش بدین دو یا سه تا فایل دیگه هم بود تا اونجا که یادمه) رو هم روی سیستم مقصد قرار بدین. cpplover13-01-2008, 10:24 PMسلام من برنامه رو از نوع MFC )مبتنی بر کادر تبادلی) و در VISUAL 2005 اجرا و کامپایل می کنم ضمنا آیا شما در مورد static linking چیزی شنیدید ؟ من شنیدم که با این روش میشه این مشکلات رو حل کرد اگه اطلاعاتی در این مورد دارید من رو بی اطلاع نگذارید با تشکر m3hrz4d14-01-2008, 01:47 AMشما میتونین با انتخاب Use MFC in a Static Library در قسمت Properties مربوط به Project تون (در قسمت General) کاری کنین که دیگه نیازی به DLL مربوط به MFC نباشه .البته این کار حجم EXE شما رو افزایش میده. someone14-01-2008, 02:08 AMسلام. در vc6.0 برای انتشار برنامه نیاز به سه dll دارین : 1- MFC42.dll که کتابخانه اصلی کلاس های MFC هست 2- MFCD 42.dll که شامل کلاس های اصلی مربوط به پایگاه داده هست 3- MSVCRT.dll که کتابخانه های ++C هست. اما تا جایی که من اطلاع دارم شما از vc2005 استفاده میکنین. کافیه بسته ی زیر رو از سایت Mictosoft بگیرین : (برای انتشار برنامه حتما و حتما باید از این بسته استفاده کنین. ) این بسته باید روی سیستم مورد نظر نصب بشه. http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A 3F9-4C13-9C99-220B 62A 191EE&displaylang=en (vcredist_x86.exe) در حدود 3MB هست. اما در مورد static linking ، تنها در شرایطی خاص مورد استفاده قرار میگیره و بستگی به برنامه ی شما داره. و ضمنا روش اصلا مناسبی نیست. علاوه بر اینکه حجم برنامه رو به شدت زیاد میکنه ، در مواردی که برنامه و یا سیستم تحت فشار باشه مشکلات غیر قابل کنترلی رو ایجاد میکنه. cpplover14-01-2008, 08:30 PMبا سلام و تشکر از دوستان به خاطر پاسخها : چیزی که خیلی در ویژوال 2005 نسبت به ویژوال 6 مشهود بود حجم بالای فایلهای ایجاد شده بود .مثلا در ویژوال 6 شاید حداکثر حجم فایل به 7 مگابایت در پروژه های معمولی می رسید و لی در ویژوال 2005 شاید اگه همون پروژه ساخته می شد حجم به 30 مگابایت می رسید!!! در مورد بسته ای هم که گفته بودید با اینکه من در کامپیوتر دیگه اون رو نصب کردم اما باز هم اجرا نشد اما باید این رو بگم که برنامه من از اکتیوایکس هم استفاده میکنه آیا برای اجرای اکتیوایکسها نیاز به dll و یا فایل ocx در کامپیوتر مقصد نیست ؟ someone14-01-2008, 10:40 PMدوباره سلام! فایل OCX و یا DLL شما علاوه بر اینکه در سیستم هدف هم باید وجود داشته باشه باید Register هم بشه. با استفاده از Regsvr32 که کافیه اون رو در CMD ویندوز بنویسین. مثلا : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! cpplover15-01-2008, 12:15 AMسلام پس زمانی که نرم افزار ها ی مختلف رو روی سیستم نصب می کنیم این فایلها ی اکتیو ایکس رو با همین دستور regsvr32 ویزاردهای نصب برنامه اجرا می کنن ؟ یعنی سوالم اینه که ویزاردهای نصب هم در زمان نصب دقیقا عمل رجیستر کردن رو انجام میدن ؟ با تشکر someone17-01-2008, 08:28 AMبله! دقیقا همینطور هست. شما هم میتونین به سادگی برای برنامه تون یک Setup بسازین. که این امکان در VS2005 وجود داره. morix_00126-02-2008, 09:06 PMمن با wim32 برنامه رو می نویسم ( consol ) ! برای بعضی کسانی که من فایل exe رو می فرستم برنامه میاد ولی بعضیا می گن که نمیاد ! چی کار کنم ؟!؟؟ سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 828]