這是前一階段發現的,由于解決該問題花費了我幾乎半天的時間,因此記憶猶新!
BUG描述:
??????? 在VC6.0 SP6中(我用的是中文版)在邏輯驅動器根目錄下的名為template的目錄中建立的工程用IDE提供的編譯按鈕默認不會編譯!
??????? 舉個例子,在目錄F:\template或C:\template\123目錄下建立的工程Test,Test中只有一個文件test.cpp,當點擊菜單中的“編譯”或“組建”按鈕時,貌似編譯完成了,見到了
--------------------
Configuration:?Test?
-
?Win32?Debug
--------------------
test.cpp?
-
?
0
?error(s),?
0
?warning(s)
提示。這時點擊執行時出現錯誤,如下所示:

這時到工程的目錄下面看時確實沒有編譯和連接,沒有生成test.obj和test.exe文件。
懷疑是test.dsp出了問題,因為VC6.0的IDE的編譯依據是*.dsp和*.dsw這兩個描述工程的文件。通過對照發現如下不同:
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?上面只列出料兩個文件的不同處,小弟不懂dsp文件的格式,但單由IDE不能編譯的Test工程test.dsp中的Exclude_From_Scan Exclude_From_Build 這些字眼中猜想意思應該是test.cpp文件沒有在被編譯的文件之列,所以IDE下編譯不能進行!(麻煩哪兒有關dsp文件資料的告訴個地方!)
當然修改test.dsp文件后又能正確編譯了!
直接在命令行下直接編譯是能成功的(cl test.cpp)
另外,經測試發現,不能用VC6.0 sp6中的IDE的工具創建名字為template的工程,會出現以下錯誤:

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