プログラムでは、実行時にファイルを開きfile.dat
ます。問題は、実行可能ファイルを実行すると、ファイルが実行されたディレクトリにあることを期待していることです。プログラムに、実行可能ファイルが存在するのと同じディレクトリを調べてもらいたい。プログラム(またはビルドシステム)でどのような変更を加える必要がありますか。
たとえば、次のプログラムについて考えてみます。
int main()
{
std::ifstream ip("file.dat");
// do something.
return 0;
}
私はg++-4.6コンパイラとCMakeビルドシステムを使用してUbuntuに取り組んでいます。cmake
プロジェクトはアウトオブソースビルドをサポートしているため、プログラムの実行可能ファイルは、が呼び出されたディレクトリに応じてどこにでも配置できます。
助けてくれてありがとう...