برگزیده های پرشین تولز

گرفتن خروجی در visual studio با قابلیت حمل

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
سلام دوستان
من راجع ب این موضوع خیلی تو نت گشتم و از خیلیا سوال کردم ولی هیچ جوابی پیدا نشد.
کسی میدونه چطوری میشه تو visual studio از یه برنامه خروجی گرفت؟ من برنامه رو ب زبان c++ مینویسم و تو ویژوال ب درستی اجرا میشه و یه خروجی exe هم ار برنامه پیدا میکنم ک این فایل و ب تنهایی هر جای هارد خودم ببرم اجرا میشه ولی روی بقیه سیستم ها نه.compile و build و .. رو امتحان کردم جواب نداد.
مثلا روی سیستمی ک اصلا visual و... روش نصب نیست ارور dll میده و میگه فلان فایل is missed ک خب درستم هست.
چند نفر میگفتن حتما باید رو سیستم طرف c++ و فایل هاش نصب باشه ک خب اگه اینطوری باشه ک اصلا برنامه نویسی حال نمیده
ولی مثلا من یه برنامه آماده از یه سایت گرفتم ک ب نظر روی همه سیستم ها اجرا میشه. برنامه رو اینحا میذارم.
نرم افزار من visual studio 2010 هستش.
لطفا اگه کسی میدونه کمک کنه:-*
 

فایل های ضمیمه

  • 082 rasme dayerehaye momas [www.cplusplus.ir].zip
    343.2 KB · نمایش ها: 13

Mbt925

Registered User
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
فایل هایی که ویژوال استدیو تولید می کنه، exe واقعی نیستن. به اصطلاح بهشون گفته میشه فایل های اسمبلی. این فایل ها به زبان میانی هست.
برای اینکه این فایل ها بتونن اجرا بشن، باید دات نت فریمورک روی سیستم مقصد نصبت باشه. برید به تنظیمات پروژتون و ببینید نسخه دات نت فریکورکی که داره استفاده میشه چنده، برای نسخه ویژوال استدیوی شما، احتمالا 3 یا 3.5 هست. در نتیجه روی سیستم مقصد باید این نسخه نصب باشه.
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
فایل هایی که ویژوال استدیو تولید می کنه، exe واقعی نیستن. به اصطلاح بهشون گفته میشه فایل های اسمبلی. این فایل ها به زبان میانی هست.
برای اینکه این فایل ها بتونن اجرا بشن، باید دات نت فریمورک روی سیستم مقصد نصبت باشه. برید به تنظیمات پروژتون و ببینید نسخه دات نت فریکورکی که داره استفاده میشه چنده، برای نسخه ویژوال استدیوی شما، احتمالا 3 یا 3.5 هست. در نتیجه روی سیستم مقصد باید این نسخه نصب باشه.
شما درست میگی ولی واسه ساختن یه فایل مثل فایلی ک گذاشتم باید چیکار کرد؟ باید یه راهی باشه..چ میدونم کامپایل یا ب زبان ماشین در آوردن و...:(
 

Mbt925

Registered User
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
اگر از نسخه دات نت پایین مثلا 2.5 استفاده کنید، برنامتون روی اغلب سیستم ها اجرا میشه. چون این نسخه از دات نت تقریبا روی همه ویندوزها وجود داره.
ولی اگه می خواید وابسته به دات نت نباشید، می تونید از زبان هایی که exe واقعی تولید می کنن استفاده کنید. مثل C، VB، Delphi و ...
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
اوکی
خب دادا شما بی زحمت فعلا بگو چطوری برنامه رو تبدیل ب یک یا دو فایل کامل کنم.چون برنامه رو ک میسازم تو فولدش کلی فایل exe و .. هست. چطوری برنامه رو مثل این برنامه ای ک گذاشتم خروجی بگیرم؟
 

Mbt925

Registered User
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
در چه محیطی می نویسید؟ فقط یک فایل exe وجود داره. شما از پوشه مربوطه یک عکس بگیرید و اینجا قرار بدید تا راهنماییتون کنم.
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
درسته exe فقط یکیه.اول ک visual باز میشه توی new project من گزینه ی win32 console application و انتخاب میکنم بعد next و بعد تیک empty project رو میزنم.بعد از روی source files از solution explorer راست کلیک بعد add new item بعد c++ file.کد c++ و اینجا مینویسم. بعد روی پوشه برنامه ک میرم کلی چیزمیز توشه.الان مثلا من برنامه exe pro رو ساختم:
3.JPG
4.JPG
چیکار کنم ک برنامه رو ببرم روی بقیه سیستم ها؟
 

hostage_devil

Registered User
تاریخ عضویت
10 ژانویه 2013
نوشته‌ها
1,103
لایک‌ها
105
محل سکونت
مشهد
این عبارت رو سرچ کنید
static make in visual c++ 2010
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
این عبارت رو سرچ کنید
static make in visual c++ 2010
سرچیدم دادا
حدس میزنم یه چیزایی فهمیدم
اینکه کتابخونه هایی ک توی برنامه ازشون استفاده میکنم و بریزم توی یک فایل و اون فایل و همیشه همراه برنامه ای ک میخوام بسازم داشته باشم.درسته؟
اگه درسته لطفا روش این کار و بهم بگین.چون اصلا نفهمیدم چی کار باید کنم.مرسی
 

Mbt925

Registered User
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
شما اون فایل exe رو بردارید و هرجا می خواید ببرید.
هرجا دات نت فریمورک نصب باشه مشکلی نیست. روی ویندوز 8 به بعد، نسخه 4 نصبه. روی ویندو 7 ها معمولا نسخه 3.5 نصبه.
اگه براتون کافی نیست می تونید یک فایل نصب براش بسازید و Visual C++ Runtime Redistributable رو به فایل Setup اضافه کنید.

در لینک زیر هم، یک سری توضیحات تکمیلی داده شده:
http://stackoverflow.com/questions/...ly-linked-exe-with-visual-studio-express-2005
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
با تشکر از دوستان
دارم سعی میکنم کارایی ک گفتین و انجام بدم ببینم جواب میگیرم یا نه
 

Arashdn

Registered User
تاریخ عضویت
16 ژانویه 2010
نوشته‌ها
1,045
لایک‌ها
47
محل سکونت
ارومیه <-> تهران
یه دونه dll مربوط به ویژوال سی++ ران تایم رو بزارید کنارش اجرا میشه
اسمش msvcr هست و بعدش هم ورژنش نوشته میشه
مثلا برای Visual C++ 2010 اسمش هست msvcr100 و msvcr100d

یه کم سرچ کنید به نتیجه می رسید
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
یه دونه dll مربوط به ویژوال سی++ ران تایم رو بزارید کنارش اجرا میشه
اسمش msvcr هست و بعدش هم ورژنش نوشته میشه
مثلا برای Visual C++ 2010 اسمش هست msvcr100 و msvcr100d

یه کم سرچ کنید به نتیجه می رسید
دقیقا! این اروریه ک یه کامپیوتر دیگ میده.
ولی بازم این ارور و واسه برنامه هایی ک من میسازم میده ولی مثلا این برنامه ک تو پست گذاشتم درست اجرا میشه
بعدشم dll مگه نباید تو فایل های سیستمی باشه؟ من بذارم کنارش فایده داره؟
 

Arashdn

Registered User
تاریخ عضویت
16 ژانویه 2010
نوشته‌ها
1,045
لایک‌ها
47
محل سکونت
ارومیه <-> تهران
دقیقا! این اروریه ک یه کامپیوتر دیگ میده.
ولی بازم این ارور و واسه برنامه هایی ک من میسازم میده ولی مثلا این برنامه ک تو پست گذاشتم درست اجرا میشه
بعدشم dll مگه نباید تو فایل های سیستمی باشه؟ من بذارم کنارش فایده داره؟
لزومی نداره که حتما در پوشه system32یاsyswow64 باشه ، اگر کنار برنامه هم باشه اجرا میشه
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
لزومی نداره که حتما در پوشه system32یاsyswow64 باشه ، اگر کنار برنامه هم باشه اجرا میشه
امیدوارم بشه
ولی بازم این برنامه ای ک گذاشتم بدون نیاز ب هیچ چیز دیگ ای روی یه کامپیوتر ساده ب تنهایی اجرا میشه.الان فهمیدم حتی ب اون فایل .cpp ک کنارش گذاشتم هم نیازی نیست:general505:
 

Arashdn

Registered User
تاریخ عضویت
16 ژانویه 2010
نوشته‌ها
1,045
لایک‌ها
47
محل سکونت
ارومیه <-> تهران
امیدوارم بشه
ولی بازم این برنامه ای ک گذاشتم بدون نیاز ب هیچ چیز دیگ ای روی یه کامپیوتر ساده ب تنهایی اجرا میشه.الان فهمیدم حتی ب اون فایل .cpp ک کنارش گذاشتم هم نیازی نیست:general505:
تنها چیزی که از برنامه شما برای اجرا شدنش نیازه همون فایل exeهست(مگر اینکه خودتون در برنامه تعریف کرده باشید که از فایل خاصی استفاده کنه که فکر نمیکنم شما چنین کاری کرده باشین) + نصب بودن Visual C++ Runtime
که اگر بخواین در صورت نصب نبودن ران تایم باز هم برنامه تون اجرا بشه باید dll رو به همون طریقی که گفتم در کنارش بزارید
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
دوستان مرسی از نظراتون ولی دیگ مطمئنم مشکل توی برنامه ایه ک من تو ویژوال میسازم.چون دوباره روی یه سیستم دیگ هم امتحان کردم.کاربریش عادی بود و هیچ نرم افزار برنامه نویسی یاdll اضافی روش نصب نبود. بازم اون برنامه ی پست اول فقط با فایل exe توش اجرا میشه اما برنامه ی من نo_O
میشه شما ک برنامه میسازین بگین توی visual studio از چه آپشن هایی استفاده میکنین؟ یعنی مثلا توی new project کدوم گزینه رو انتخاب میکنین و..؟
 

hostage_devil

Registered User
تاریخ عضویت
10 ژانویه 2013
نوشته‌ها
1,103
لایک‌ها
105
محل سکونت
مشهد
توی قیمت لینکر ها و کتابخونه های پروژتون که از project option میشه تغییر داد باید این بهش مکان این فایل های dll و ... رو به درستی لینک بدید
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
لزومی نداره که حتما در پوشه system32یاsyswow64 باشه ، اگر کنار برنامه هم باشه اجرا میشه
ولی من جفت این dll هارو هم کنار فایل exe هم توی system32 امتحان کردم بازم ارور همین dll ها رو میداد.واسه debug ارورش msvcr100d بود واسه release ارورش msvcr100 بود
 

navid_666

کاربر تازه وارد
تاریخ عضویت
23 آگوست 2014
نوشته‌ها
18
لایک‌ها
0
سن
25
توی قیمت لینکر ها و کتابخونه های پروژتون که از project option میشه تغییر داد باید این بهش مکان این فایل های dll و ... رو به درستی لینک بدید
شرمنده داش متوجه نشدم چی نوشتید
 
بالا