Monday, July 19, 2010

Compatibility for VC++ 2008 on Win7 (64-bit)

Microsoft Windows 7 ကို သံုးၿပီး Visual Studio နဲ႔ အလုပ္လုပ္တဲ့ သူေတြ အတြက္ compatibility ျပႆနာ ေလးေတြ ရိွတတ္ပါတယ္။ ကၽြန္ေတာ္ ကိုယ္တုိင္လည္း မၾကာမၾကာ ဆိုသလို ေတြ႕ၾကံဳခဲ့ရပါတယ္။
အထူးသျဖင့္ Visual Studio 2005 နဲ႔ Visual Studio 2008 ေတြ သံုးၿပီး Win7 ေပၚမွာdevelop လုပ္တဲ့ အခါမွာ compile လုပ္မရတာ၊ linker error ေတြ ျပတာ မ်ိဳးေတြ ျဖစ္တတ္ပါတယ္။ အဲဒီ error တက္တဲ့ same project ကိုပဲ WinXP/Win Vista ေတြပၚမွာ သြား run ရင္ ေကာင္းေန ျပန္ေရာ။ အထူးသျဖင့္ 64-bit Windows 7 ကို သံုးရင္ compatibility ျပႆနာ ပိုေတြ႕ရပါတယ္။
ကၽြန္ေတာ္ ၾကံဳခဲ့ရတဲ့ ျပႆနာက Windows 7 Professional (64-bit) ေပၚမွာ Visual C++ 2008 (32-bit) ကို သံုးတဲ့ အခ်ိန္မွာ ေတြ႕ခဲ့ရတဲ့ ျပႆနာပါ။ CMAKE ကို သံုးၿပီး project တစ္ခုကို Visual C++ 2008 ကို နဲ႔ build လုပ္ဖို႔ ၾကိဳးစားတဲ့ အခ်ိန္မွာေရာ၊ VC++ 2008 IDE ကေန build လုပ္တဲ့ အခ်ိန္မွာပါ Cannot open program database ဆိုတဲ့ error message ျပၿပီး build လုပ္လို႔ မရခဲ့ ပါဘူး။ ဒါေပမယ့္ အဲဒီ project ကိုပဲ 32-bit Windows 7 ေပၚမွာ build လုပ္ေတာ့ ဘာျပႆနာမွ မေတြ႕ရပဲ build လုပ္လို႔ ရခဲ့ပါတယ္။
တစ္ခ်ိဳ႕က Windows 7 (Professional နဲ႔ Ultimate) ေတြမွာ ပါတဲ့ Virtual WinXP mode ကို သံုးဖို႔ အၾကံေပး ပါတယ္။ Forum ေတြမွာ ၀င္ၾကည့္ေတာ့လည္း hard disk check လုပ္ဖို႔၊ VS ကို ျပန္ install လုပ္ဖို႔ စသည္ျဖင့္ အမ်ိဳးမ်ိဳး ေတြ႕ရ ပါတယ္။

ဒါေပမယ့္ ေနာက္ဆံုးမွာ အရိုးရွင္းဆံုး နည္းလမ္းနဲ႔ ေျဖရွင္းႏိုင္ခဲ့ ပါတယ္။ Windows 7 (64-bit) ေပၚမွာ install လုပ္ထားတဲ့ Visual Studio 2008 (32-bit) ရဲ႕ shortcut ေပၚမွာ right-click လုပ္ၿပီး compatibility setting ကို ျပင္ေပးလိုက္တာနဲ႕ အဆင္ေျပသြား ပါတယ္။
ဒါေပမယ့္ သတိထားရမွာက compatibility setting ကို ျပင္ရင္ မ်ားေသာအားျဖင့္ Windows XP (service pack 3) ကို ေရြြးတတ္ၾက ပါတယ္။ Visual Studio 2005 နဲ႔ 2008 ေတြအတြက္ Windows 7 မွာ compatibility ကို ေရြးမယ္ ဆိုရင္ Windows Vista (service pack 1) ဒါမွမဟုတ္ (service pack 2) ကိုပဲ ေရြးရင္ ပိုအဆင္ေျပ ပါတယ္။ Compatibility မွာ Windows XP ကိုေရြးေတာ့ အေပၚက ျပႆနာ မေျပလည္ခဲ့ ပါဘူး။ ဒါန႔ဲ forum ေတြမွာ ေဆြးေႏြးရင္း compatibility setting မွာ Windows Vista (service pack 1) ကိုေရြးလိုက္ေတာ့ project compile လုပ္လို႔ မရတဲ့ ျပႆနာ ေျပလည္သြား ပါတယ္။

ဒါေၾကာင့္ Visual Studio 2005/2008 (32-bit) ေတြကို သံုးၿပီး Windows 7 (64-bit) ေပၚမွာ develop လုပ္မယ္ ဆိုရင္ compatibility မွာ Windows Vista ကို ေရြးရင္ project အေတာ္မ်ားမ်ား အတြက္ ပိုအဆင္ေျပမယ္ လို႔ အၾကံေပးခ်င္ ပါတယ္။

0 comments:

Post a Comment