這是前一階段發(fā)現(xiàn)的,由于解決該問題花費(fèi)了我?guī)缀醢胩斓臅r(shí)間,因此記憶猶新!
BUG描述:
??????? 在VC6.0 SP6中(我用的是中文版)在邏輯驅(qū)動(dòng)器根目錄下的名為template的目錄中建立的工程用IDE提供的編譯按鈕默認(rèn)不會(huì)編譯!
??????? 舉個(gè)例子,在目錄F:\template或C:\template\123目錄下建立的工程Test,Test中只有一個(gè)文件test.cpp,當(dāng)點(diǎn)擊菜單中的“編譯”或“組建”按鈕時(shí),貌似編譯完成了,見到了
--------------------
Configuration:?Test?
-
?Win32?Debug
--------------------
test.cpp?
-
?
0
?error(s),?
0
?warning(s)
提示。這時(shí)點(diǎn)擊執(zhí)行時(shí)出現(xiàn)錯(cuò)誤,如下所示:

這時(shí)到工程的目錄下面看時(shí)確實(shí)沒有編譯和連接,沒有生成test.obj和test.exe文件。
懷疑是test.dsp出了問題,因?yàn)閂C6.0的IDE的編譯依據(jù)是*.dsp和*.dsw這兩個(gè)描述工程的文件。通過對(duì)照發(fā)現(xiàn)如下不同:
IDE不能編譯的Test工程test.dsp中:
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\test.cpp
# PROP Exclude_From_Scan -1
# PROP BASE Exclude_From_Build 1
# PROP Exclude_From_Build 1
# End Source File
# End Group
IDE能編譯的Test工程test.dsp中:
#?Begin?Group?"Source?Files"

#?PROP?Default_Filter?"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
#?End?Group?上面只列出料兩個(gè)文件的不同處,小弟不懂dsp文件的格式,但單由IDE不能編譯的Test工程test.dsp中的Exclude_From_Scan Exclude_From_Build 這些字眼中猜想意思應(yīng)該是test.cpp文件沒有在被編譯的文件之列,所以IDE下編譯不能進(jìn)行!(麻煩哪兒有關(guān)dsp文件資料的告訴個(gè)地方!)
當(dāng)然修改test.dsp文件后又能正確編譯了!
直接在命令行下直接編譯是能成功的(cl test.cpp)
另外,經(jīng)測(cè)試發(fā)現(xiàn),不能用VC6.0 sp6中的IDE的工具創(chuàng)建名字為template的工程,會(huì)出現(xiàn)以下錯(cuò)誤:

好了,就是這么多了,搞不清楚這是VC的IDE的BUG,還是M$默認(rèn)的規(guī)則,不過在VC2003下沒有上述錯(cuò)誤發(fā)生,看來舊的東西是要被代替的,怎乃用VC6.0太久,舍不得割舍~~
這兒描述的問題也許您從來不會(huì)遇到過,不過就是俺遇到了,記下,留個(gè)紀(jì)念~~
這也是俺在C++blog園的第一段文字!