Eclipse和CDT的兼容性問題
【問題】
CDT版本:5.0.0 ,即cdt-master-5.0.0.zip
Eclipse版本:3.4.2,即eclipse-SDK-3.4.2-win32.zip
Java版本:
C:\Documents and Settings\Administrator>java -version
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing)
此CDT和Eclipse版本,根據官網說明
http://www.eclipse.org/cdt/downloads.php
是匹配的:
“CDT 5.0.x
CDT 5.0 runs with Eclipse 3.4 and is part of the Eclipse Ganymede simultaneous release. 。。。”
但是,昨天試了,5.0.1和3.4.2搭配,CDT不能用,無法出現C/C++項目。
換了5.0.0和3.4.2,折騰了很長時間,因為:
配置完所有的需要配置的信息后,去新建一個hello的C++項目,測試一下整個環境是否工作正常,
結果編譯的console輸出錯誤:
**** Build of configuration Debug for project helloCpp ****
Cannot run program "make": ????????
【解決過程】
去網上找了,出現此問題的人不多,遇到類似的問題的,就是
Cannot run program "make": Launching failed
但是,我這里不僅出現此問題,而且后面的信息顯示“Launching failed”,都不正常,都顯示問號。
呵呵。
別人的解決辦法,
用Eclipse + CDT + MinGW做Windows編程(前言+***部分)
http://www.cnblogs.com/inshion/archive/2009/01/09/1372704.html
是很容易想到的,就是
1.先確認自己是否裝了編譯工具,不論是Cygwin還是MinGW都可以,但是一定是先裝了對應編譯工具。
2.然后再確認自己是否把對應的環境變量加如到Windows中的環境變量PATH中,
這些,我都去驗證過了,我都設置好了的,而且,在Windows的cmd中輸入make,和在Cygwin下輸入make,
都是可以找到make工具的。
而且,也去
Eclipse的Project->Properties->C/C++ Build->Environment中去查看了對應的PATH變量了,
都是正確的:
D:\cygwin\bin;C:\Program Files\Java\jre1.5.0_08\bin\client;C:\Program Files\Java\jre1.5.0_08\bin;(中間省略);d:\Program Files\StormII
而且,還是保證我cygwin所在的路徑是加在最前面的,而且我后來在***面也加了一個,也還是不行,
無意中,亂懷疑是否是反斜線"\"Eclipse也許識別有問題,然后又加了個
D:/cygwin/bin;
但是也還是不行。并且也去Windows中查看了PATH變量,包括系統和當前Administrator的,都是對的,都加了Cygwin的bin路徑的。但是都還是無濟于事。。。
【解決辦法】
***的***,看到有個人也遇到這個問題:
http://xiaomaohaha.spaces.live.com/blog/cns!61AD5B3600FC2BDF!248.entry?sa=793804635
也是無法解決,所以,懷疑,是否可能是Eclipse和CDT的兼容性問題,
所以,用了昨天從網站下載的,已經集成了CDT的Eclipse:
eclipse-cpp-europa-fall2-win32.zip
然后,發現一切都OK了,Hello項目可以正常的編譯輸出了:
**** Build of configuration Debug for project helloCpp ****
make all
Building file: ../src/helloCpp.cpp
Invoking: Cygwin C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/helloCpp.d" -MT"src/helloCpp.d" -o"src/helloCpp.o" "../src/helloCpp.cpp"
Finished building: ../src/helloCpp.cpp
Building target: helloCpp.exe
Invoking: Cygwin C++ Linker
g++ -o"helloCpp.exe" ./src/helloCpp.o
Finished building target: helloCpp.exe
所以,現在可以確定,就是Eclipse和CDT的版本不兼容導致的。
加上昨天遇到的:
"cdt-master-5.0.1.zip和eclipse-SDK-3.4.2-win32.zip兼容性有問題,看不到新建C/C++項目的選項,換了cdt-master-5.0.0.zip就可以了"
【總結Eclipse和CDT的兼容性問題】
總結如下就是,已經遇到的bug:
1.cdt-master-5.0.1.zip和eclipse-SDK-3.4.2-win32.zip,無法使用C/C++項目
換成cdt-master-5.0.0.zip和eclipse-SDK-3.4.2-win32.zip,就可以用C/C++項目了
2.cdt-master-5.0.0.zip和eclipse-SDK-3.4.2-win32.zip雖然能新建C/C++項目,
但是無法正常編譯,出現找不到make的bug,雖然你已經安裝對應對應Cygwin的工具而且設置好了環境變量。
【題外話】
遇到這樣的兼容性問題,真是夠郁悶,而且還是官網號稱是可以匹配的。
浪費了很長時間,真是不值得。
真是懷疑,官網那些開發者,是否做了兼容性測試。
希望以后這樣的問題少出現一些,否則,不知道還有多少人會在此問題上白白浪費時間……
【編輯推薦】