2017-06-07 13 views
0

私の環境はUbuntu16.04です。別のドキュメントが必要なバイナリをコマンドラインに追加するにはどうしたらいいですか?

私のバイナリのfloderの構造があることである:

copy 
├── creat 
├── creat.cpp 
├── makeup.sh 
├── MODEL.cpp 
└── README.md 

そしてcreat iは、コマンドラインに追加するバイナリです。

MODEL.cppは、creatに必要なドキュメントです。 creat.cppで

私はこのようなMODEL.cppを開く必要があります。

in.open("MODEL.cpp");

しかし、私は、このレポをクローン誰任意の他は簡単にそれを使用することができますしたいです。 だから私は、シェルスクリプト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に終了します。

何が問題なのかよく分かりませんが、どうすればよいですか?

答えて

0

これは、MODEL.cppが、creatとMODEL.cppの両方が同じフォルダ内にあるにもかかわらず、creatを実行している現在の場所に存在しないためです。

ベストのオプションは、依存MODEL.cppファイルを/etcフォルダに保存することです。

in.open("/etc/MODEL.cpp");

に変更し、このラインin.open("MODEL.cpp");をので、それはあなたがそれが動作しますcreatバイナリを実行した場所から問題ではありません。

+0

ありがとう – HumbertZhang

関連する問題