我的环境是Ubuntu16.04。
我的二进制文件的结构是这样的:
copy
├── creat
├── creat.cpp
├── makeup.sh
├── MODEL.cpp
└── README.md
creat
是我要添加到命令行的二进制文件。
MODEL.cpp 是creat
需要的文档。
在 creat.cpp 中,我应该像这样打开 MODEL.cpp:
in.open("MODEL.cpp");
但我希望任何克隆此 repo 的人都可以轻松使用它。
所以我写了一个 shell 脚本 makeup.sh
:
#!/bin/bash
g++ creat.cpp -o creat
sudo cp creat /usr/local/bin
sudo cp MODEL.cpp /usr/local/bin
echo "Now you can try it"
但是当我使用命令creat
时,终端告诉我:
Can not find MODEL.cpp
但是 MODEL.cpp 存在于/usr/local/bin 中。
我不知道这是怎么回事,我该怎么办?
最佳答案
这是因为 MODEL.cpp 不存在于您执行 creat 的当前位置,即使 creat 和 MODEL.cpp 都在同一个文件夹中。
最好的选择是将依赖的 MODEL.cpp 文件保存在 /etc
文件夹中。
将此行 in.open("MODEL.cpp");
更改为 in.open("/etc/MODEL.cpp");
因此,无论您在哪里执行 creat
二进制文件,它都可以正常工作。
关于linux - 我如何将需要另一个文档的二进制文件添加到命令行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44416064/