标签归档:multiple target patterns

Eclipse+CDT+Cygwin,让我情何以堪啊……

为了编写跨平台程序,一是采用了Eclipse+CDT+Cygwin开发,中间真是莫名其妙的问题层出不穷,每次解决了问题,不知道什么时候又回冒出来,而有些问题,第一次出现后记录下来的解决办法,第二次却无法依据同样的方法解决,真是让人欲哭无泪啊……

1、multiple target patterns问题

记得最先碰到这个问题,可以在项目的Properties的C/C++Builder—>Tool Chain Editor—>Current toolchain选择Cygwin,Current Builder由Gnu Maker Builder改为CDT Internal Builder解决。据说是因为Gun Maker的3.8.0版本有bug,改成3.8.1可以解决问题,当然可以选用CDT Internal Builder,也能解决这个问题。but,有时候,你用CDT Internal Builder,一样产生multiple target patterns问题,汗。。。

另一种说法是windows下的盘符后的冒号(如”D:\“)会被Maker解释成对象分隔符,从而导致Maker错误的认为后面是个编译对象,从而导致multiple target patterns问题,解决办法是在主菜单—>Window—>Preferences—>C/C++—>Debug—>Source Look Path中点击Add按钮,选择Path Mapping,添加盘符映射(如’C:\’映射成’\cygdrive\c\’、’D:\’映射成’\cygdrive\d\’)来解决。但貌似也不见得有效,汗。。。

2、同一个项目中的.cpp文件竟然找不到自己的.h文件

这个问题郁闷了我好几天,发现是因为一个项目引用另一个动态库项目时,如果通过Properties—>C/C++ General—>Path and Symbal—>References中勾选要引用的dll项目进行自动引用,用CDT Internal Builder则会出现同一个项目中的.cpp文件找不到自己的.h文件的问题,只好把CDT Internal Builder改成Gun Maker,然后再在Properties—>C/C++ Builder—>Settings的Includes和Libraries中手动加入对动态库的引用,即可解决问题。汗。。。