系統(tǒng)中同時(shí)裝有VC6、VC2003和VC2005。今天在用VC2005編譯一個(gè)ATL工程的時(shí)候,出現(xiàn)這樣一條錯(cuò)誤:
midl : command line error MIDL1004 : cannot execute C preprocessor cl.exe用VC6和VC2003編譯都沒(méi)有問(wèn)題,就是一個(gè)新建的ATL工程,VC2005也仍是編不過(guò)。重啟、重裝、Google……試了N中方法還是不行,不過(guò)皇天還是不負(fù)有心人

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

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

。望各位指點(diǎn):)