2010年9月8日 星期三

VS2008 w/o vcredist

我只有試過 vs2008, vs2010被我拔掉了所以沒試. 原始文章來自這裡 , 提到幾個重點:

* Don't embed a manifest in your exe files.
* Copy the C++ DLLs and their manifests to your app's directory.
* Remove the "publicKeyToken" from all manifests (yours and Microsoft's).
* If necessary, change the version info in your app's manifest files to match the Microsoft manifest files (or vice versa)

簡單的講就是... project property 中幾個設定:

1.general 中 Use MFC 改 use standard windows libraries
(所以不一定適用所有場合, 特別是有用上 DirectX 的)

2.c/c++ 中 code generation 中 runtime library 改 /MT
(如果有用上某些元件非 msvcr90.dll 不可的, 就殘念了)

3.linker 中 generate Manifest 選 no.

一般 MFC 專案都還有效.

4 則留言:

斜陽照 提到...

我的作法是參考這一篇:
http://blogs.msdn.com/b/brianjo/archive/2004/08/08/211085.aspx

不過要注意 VSE 2010 沒有 VCProjectDefaults,你得每一個專案就改一次,不過好險,再改之前你可以先把他繼承的 lib 列表先複製下來。

GasVosky 提到...

vc 到現在好像都沒有 project template 這類的東西可用 (BCB5 就有..), 還好要改的東西不多, 否則真的會煩死 ~_~

斜陽照 提到...

對呀,而且這樣編出來的東西只能編 MFC / ATL ,只要有 CLR 的統統不能編(因為相依於 .NET Framework,你得裝肥大的 .NET Framework 才能跑)。

今天心血來潮,終於搞定 C++ Builder 2010 ,等我新案子弄完後,再把手上的小計畫移過去看看~

GasVosky 提到...

CLR.. 你讓我想到 XNA 的東西上面很多都有用到 CLR.. -_-