<分区>
我有一个包含更多 makefile 的项目。在某些特定文件夹中,有一些 makefile 可以创建二进制文件/可执行文件。我右键单击 makefile 并执行 Make Tarkgets -> Build -> all
,这样我就可以在那里获得可执行文件。如果我从控制台运行可执行文件,它工作正常,但如果我右键单击它并 Debug as -> Local C/C++ Application
,它运行但在某些时候它正在读取具有相对路径的文件:
FILE *f = fopen(fName, "rb"); // fname is a relative path : ../../../path/to/file
if(f == NULL)
{
perror(fName);
exit(2);
}
它没有找到它;指针为空/NULL。在我看来,Eclipse 似乎是从打开项目的地方搜索文件,而不是从可执行文件所在的地方搜索文件。我想这是因为如果我从创建可执行文件的 makefile 创建一个项目,它会工作,它会找到该文件。但是从那个地方我看不到源代码,因此,为了放置断点,我必须一步一步地运行,直到我到达正确的位置/正确的源代码。
谁能帮我解决这个问题?有没有办法让它从可执行文件所在的位置搜索文件?谢谢
附言: 我见过this post ,它很相似,但它并没有指出任何东西......