我安装了cygwin(最新的1.7.xx?),然后安装了eclipse cdt(Juno)。
当我尝试构建一个hello world项目时,尽管eclipse确定安装了cygwin,但它没有用。
所以我手动将c:\ cygwin \ bin添加到路径中,该路径找到了cygwin中的所有可执行文件,包括g ++,make ld等。
现在,eclipse可以构建项目,但是在调试时,gdb启动并找不到源代码。它声称找不到:
/cygdrive/c/users/me/workspace/test1/test1.cc 。 即使这正是它的确切位置。就好像cygwin的目录系统不起作用。
我可以手动加载来源:
C:\用户\我\工作空间\ TEST1 \ test1.cc
并且调试器工作,但是下次我开始一个新项目时,我必须再做一次。 你如何指示eclipse / cygwin组合正确查找源代码?
或者,Mingw更容易吗?我遇到类似的问题,看到mingw存在,但构建失败,因为它找不到可执行文件。
答案 0 :(得分:14)
以下是我如何使其发挥作用。
然后当我调试它时,发现源文件很好。
答案 1 :(得分:11)
转到Windows->首选项 - > C / C ++ - >调试 - >源查找路径。添加以下'路径映射'。
\cygdrive\c -> c:\
答案 2 :(得分:3)
虽然上面给出了很好的答案,但有时候它可能无法解决问题!!!!
假设您在C中安装Cygwin:但您的eclipse工作区位于D:那么您的安装中存在问题
你应该做的就是打开cygwing shell&输入“mount”以获取以下内容:
int cpint = -1;
std::string fname="";
for ( int i = 1; i < argc && i<3; i++ ) {
std::stringstream argss(argv[i]);
// Check if the string is a decimal
// and only a decimal
if( !(argss >> cpint) || !argss.eof()) {
fname=argv[i];
}
}
if(!fname.empty())
std::cerr << "filename '" << fname "'" << std::endl;
if(cpint!=-1)
std::cerr << "codepage: #" << cpint << std::endl;
这里我的项目都在D:\ ECWorkSpace下,所以我的映射需要存在 在Eclipse中: / cygdrive / d d:/
因此,现在武装了这些知识就像PathM所说的那样
Ritvika@Ashutosh ~
$ ls
Ritvika@Ashutosh ~
$ mount
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
Ritvika@Ashutosh ~
$
这应该有效。 (这对我来说:)) 您也可以查看此常见问题解答:https://wiki.eclipse.org/CDT/User/FAQ#I.27m_using_cygwin_and_when_launching_the_debugger.2C_it_complains_that_it_can.27t_find_the_source_file
答案 3 :(得分:2)
我使用MinGW + CDT,它让我非常满意。我安装了很多次,从来没有任何分歧。配置不如你用cygwin做的那么多。下载Eclipse for C / C ++开发人员(可能是你做过的),让CDT
(MinGW Tool Chain - &gt; gdb + gcc)直接运行。将您的\\MinGW\bin\
目录设置为PATH
,您应该好好去......
注意:像Cygwin一样,MinGW提供类似Linux的Shell。
对于MinGW-64,现成的构建更难以找到。请参阅here。
答案 4 :(得分:0)
在这里查看“Common Source Lookup Path”的设置:http://wyding.blogspot.dk/2009/04/setup-cygwin-toolchain-in-eclipse-cdt.html