我使用以下项目安装项目:
cmake --DCMAKE_INSTALL_PREFIX=/path/to/install /path/to/source
cmake --build . --target install
该项目取决于文件“ data.txt”,如下所示:
int main(){
std::ifstream file;
file.open("../data.txt"); //key line
return 1;
}
为使程序正常工作,我将此文件复制到CMakeLists.txt命令的安装目录中。路径看起来像:
ls path/to/install
bin (directory)
data.txt
执行如下所示的程序可以正常工作:
cd /path/to/install/bin/
./program
---works---
问题是我想从任何目录运行程序。
我的操作方式:
我将/path/to/install/bin
放入了bashrc中的PATH环境变量中。
但是“ ../data.txt”找不到了。并且运行失败。
有什么好方法可以使程序搜索data.txt的方式有所不同? 相对安装目录?还是二进制文件所在的地方? 但不是我启动它的目录。
或者人们通常如何管理这样的东西?
感谢和欢呼