系統中同時裝有VC6、VC2003和VC2005。今天在用VC2005編譯一個ATL工程的時候,出現這樣一條錯誤:
midl : command line error MIDL1004 : cannot execute C preprocessor cl.exe用VC6和VC2003編譯都沒有問題,就是一個新建的ATL工程,VC2005也仍是編不過。重啟、重裝、Google……試了N中方法還是不行,不過皇天還是不負有心人

。總算找到了個解決的辦法,重新設置exe的目錄。
比較VC2003和VC2005的Directories中的設置可以發現,它們都使用了$(VCInstallDir),并且目錄設置都基本一樣。盡管找個半天也沒發現在哪里去該$(VCInstallDir)變量的值,但可以曲線救國:不用$xxxx,直接引用目錄。因此把VC2005的bin的目錄全部加上,如下:

最終可以正常編譯了,但還是沒有找到$(VCInstallDir)在什么地方定義的

。望各位指點:)