熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

運行未安裝VS2005的機器上C++程序

2013-11-13 09:55:46  來源: .NET編程 

   問題描述

最近在VS下用C++寫了一個Console程序在一台未安裝VS的機器上不能正常運行
用命令行方式運行提示
系統無法執行指定的程序
直接雙擊運行提示
由於應用程序的配置不正確應用程序未能啟動重新安裝應用程序可能會糾正這個問題

用VC和VS也有這個問題只不過會提示說找不到***dll把需要的dll拷貝到目標機器就可以正常運行了而VS並沒有提示缺少哪些dll

解決方案

在水木C++版請教了一下ass做出了回答(非常感謝ass的幫助)把他的回答摘錄如下大家共同學習

因為沒有msvcrdll
可以改一下編譯選項 多線程dll(/MD)改成多線程(MT)這樣就靜態鏈接
也可以從你的vc安裝盤上找到再分發包vcredist_xxxexe和你的程序捆綁安裝

根據ass指導的思路自己實驗了一下感覺以下兩種解決辦法是比較方便的

方法一
在C:\Program Files\Microsoft Visual Studio \VC\redi
st\Debug_NonRedist\x\MicrosoftVCDebugCRT 下找到了下列文件

msvcmddll
msvcpddll
msvcrddll
MicrosoftVCDebugCRTmanifest

把這幾個文件拷貝到目標機器上與運行程序同一文件夾或放到system就可以運行那個程序了

方法二
修改C++/Code Generation中的運行時庫選項將/MD或/MDd 改為 /MT或/MTd這樣就實現了對VC運行時庫的靜態鏈接在運行時就不再需要VC的dll了


From:http://tw.wingwit.com/Article/program/net/201311/12007.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.