[爆卦]visual studio執行c是什麼?優點缺點精華區懶人包

為什麼這篇visual studio執行c鄉民發文收入到精華區:因為在visual studio執行c這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者VictorTom (鬼翼&娃娃魚)看板C_and_CPP標題Re: [問題] 請問關於...


※ 引述《slgn0129 (緣由天定分在人為)》之銘言:

恕刪

: 程式跑出來的錯誤結果:
: build的log
: 正在編譯...
: DrawModel.c
: Initialize.c
: InitModelData.c
: MyTextfileIOTool.c
: c:\goodluck\simplefboanddepth\mytextfileiotool.c(11) :
: warning C4996: 'fopen' 已經宣告為取代
: c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) :
: 請參閱 'fopen' 的宣告
: 訊息: 'This function or variable may be unsafe.
: Consider using fopen_s instead. To disable deprecation,
: use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
: c:\goodluck\simplefboanddepth\mytextfileiotool.c(21) :

VC認為fopen這個函數不安全, 而宣告它為deprecate....
也就是考慮將來的版本不再提供這個函數的意思....
並告訴你如果你不care這個warning, 如何disable它....

: warning C4267: '=' : 將 'size_t' 轉換為 'int',資料可能遺失
: Simple_FBO.c
: 正在產生程式碼...
: 正在將資訊清單編譯至資源...
: 正在連結...
: esUtil_d.lib(esUtil_TGA.obj) : warning LNK4099:
: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib'
: 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),
: 當做沒有偵錯資訊,連結物件
: esUtil_d.lib(esUtil_win32.obj) : warning LNK4099: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib' 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),當做沒有偵錯資訊,連結物件
: esUtil_d.lib(esShader.obj) : warning LNK4099: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib' 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),當做沒有偵錯資訊,連結物件
: esUtil_d.lib(esShapes.obj) : warning LNK4099: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib' 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),當做沒有偵錯資訊,連結物件
: esUtil_d.lib(esTransform.obj) : warning LNK4099: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib' 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),當做沒有偵錯資訊,連結物件

這些warning只是告訴你它找不到某些object file的某些.pdb檔....
在VC裡這些檔案是用來提供debug/trace code用的information....

: esUtil_d.lib(esUtil.obj) : warning LNK4099: 找不到 PDB 'vc90.pdb' (有 '..\esUtilLite\Lib\esUtil_d.lib' 或位於 'c:\GoodLuck\SimpleFBOandDepth\Debug\vc90.pdb'),當做沒有偵錯資訊,連結物件
: 正在嵌入資訊清單...
: 結果
: 已將建置記錄儲存於 "file://c:\GoodLuck\SimpleFBOandDepth\Debug\BuildLog.htm"
: InitOpenGLES - 0 個錯誤,8 個警告
: debug 會直接跳出錯誤視窗
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: VS2005
: 有問題的code: (請善用置底文標色功能)
: 原本可以跑 應該不是code的問題吧0.0
: 原本想說是不是沒安裝什麼 所以就四處亂安裝
: 但是也沒有效果
: 麻煩各位前輩幫忙看一下了
: 卡關卡很久 但是都沒頭緒><

扣除掉上面那些warning, 你的esUtil_d.lib有對應的.dll嗎??
個人推測是不是有缺.dll檔沒有copy到, 或者linking方式的問題@_@"

可能的原因, esUtil_d.lib是用VC2008(VC9.0)build的....
但是產生binary時, VC提供的library是用dynamic link的....
而你如果沒有裝VC2008只有VC2005的話....
就會發生找不到VC9的.dll或.dll不一致的狀況....

找不到VC#.dll的問題板上可以搜尋一下有討論過解法....
不外乎裝VC# redist, 或者用static link重編binary....
再不然就是找到需要的VC#相關.dll全部copy到同folder:)
==
以上, 純屬小弟無責任推測....<(_ _)>

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.66.243.96
※ 編輯: VictorTom 來自: 61.66.243.96 (11/11 11:54)
slgn0129:謝謝 我先試試看^^ 11/11 14:13
slgn0129:剛剛發覺 我用我的esUtil_d.lib 去覆蓋 就可以run了XDD 11/11 14:49
slgn0129:好像他原本是用2008的 所以我的不能跑 應該是這樣吧 11/11 15:08
slgn0129:感謝前輩啦XDD 11/11 15:08
VictorTom:我發現我不該寫VC#的, 那個#是代換數字, 像VC8/9這樣, 11/11 16:27
VictorTom:剛才注意到這樣可能會被誤解成那個C Sharp....Orz 11/11 16:27
nowar100:沒錯 我之前誤解了幾秒才看出來 XD 11/11 17:18
VictorTom:所以~~都是微軟不好....(光速逃XD) 11/11 18:05

你可能也想看看

搜尋相關網站