作者AntaresStar ()
看板C_and_CPP
標題Re: [問題] C++的system function
時間Wed Feb 17 12:16:29 2010
這跟system()也沒什麼關係啦
應該是對方的機器沒有裝Visual C++ Redistributable (無關.NET Framework)
你去微軟的下載中心搜尋相對應的版本到對方電腦裝一下就好了
注意如果你的VC有裝sp1就要抓有sp的redistributable 版本不對就無效
要不然就是像之前V板友說的一樣 改成static link
還有一招就是把VC的dll跟manifest檔複製到執行檔的目錄下
不過這跟static link的意義也一樣 而且又很麻煩
※ 引述《Mewra ()》之銘言:
: ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
: ( 未必需要依照此格式,文章條理清楚即可 )
: 遇到的問題: (題意請描述清楚)
: 使用system()去執行一些系統指令, 像是system("wget http://www.xxx.ooo/a.txt");
: 但在執行編譯出來的執行檔時, 會跳出一個錯誤訊息 :
: "無法啟動這個應用程式, 因為應用程式的設定不正確. 重新安裝應用程式應該可以修復
: 這個問題."
: 希望得到的正確結果:
: 在開發的機器上, 編譯出來的執行檔是可以正確執行的, 但在其它一般使用者的機器
: 編譯出來的執行檔就無法執行.
: 程式跑出來的錯誤結果:
: "無法啟動這個應用程式, 因為應用程式的設定不正確. 重新安裝應用程式應該可以修復
: 這個問題."
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: VC++,Windows
: 有問題的code: (請善用置底文標色功能)
: system("wget http://www.xxx.ooo/a.txt"); 在開發的機器上, 被編譯出的執行檔
: 這一行是可以正確無誤的執行, 但一般使用者機器上則會出現錯誤訊息.
: 補充說明:
: 編譯出的執行檔跟wget.exe擺在同一個目錄下.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.34.97.17
※ 編輯: AntaresStar 來自: 218.34.97.17 (02/17 12:34)
推 VictorTom:印象中VC6以前的binary是裝VC redist, .Net以後的話裝 02/17 20:29
→ VictorTom:.Net Framework就會搞定了啊@_@" 還是小弟我記錯了Orz 02/17 20:30
→ VictorTom:啊對不起, 應該是小弟我自己記錯了, 不好意思.<(_ _)> 02/17 20:31
→ AntaresStar:.NET Framework是有用CLR的話才需要的 02/18 13:59