在一个程序中,我file.dat
在运行时打开一个文件。问题是当我运行可执行文件时,它希望文件位于执行它的目录中。我希望程序查看可执行文件所在的同一目录。我应该在我的程序(或构建系统)中进行哪些修改。
例如考虑这个程序:
int main()
{
std::ifstream ip("file.dat");
// do something.
return 0;
}
我正在使用 g++-4.6 编译器和 CMake 构建系统在 Ubuntu 上工作。由于该项目支持源外构建,这意味着程序可执行文件可以位于任何地方,具体取决于cmake
调用它的目录。
谢谢您的帮助...