2016-04-05 23 views
0

更新:これで、.cppファイルをmake でコンパイルすることができました(コンパイル出力を見ることができます)。しかし、その変更は影響を及ぼさないようです。 makeを実行した後、コンピュータを再起動しますが、変更はありません。.cppファイルの内容を変更する

ご存知のように、私はC++の経験が非常に限られています。 現在、プロジェクト(OpenBTS)で作業しており、プロジェクトをビルドしてインストールした後に.cppファイルのいずれかにエラーが見つかりました。 私の質問は、.cppファイルの内容(f.eksはJSONデータ参照の文字列を変更する)を変更して後で変更を確認できるようにするにはどうすればいいですか?

私は現在、次のことを試してみました:

1. 
make 'filename.cpp' 
make: Nothing to be done for 'filename.cpp' 

2. 
make 'filename' 
g++ 'filename.cpp' -o 'filename' 
In file included from 'filename.cpp:29:0: 
'filname.h':26:21: fatal error: Timeval.h: No such file or directory 
#include <Timeval.h> 
compilation terminated. 

3. Run make from root directory: 
Nothing to be done for 'all.' 

4. Run make clean and make from root. This rebuilds the project but the 
changes are still not in effect (I can see that the JSON String is not 
changed at the webserver). 

5. Run ./build.sh script. Still no changes. 

2.方法については、プロジェクトが構築され、正常にコンパイルされたように、私は単一のファイルで、コンパイラが見つけることができないことをしようとすると来ますかヘッダーファイル?私が変更したのは、 "ARFCN"から "ARFCNtest"への文字列でした。 お互いに依存する約50個のヘッダーファイルがあるので、インクルードを<>から ""に変更して、すべての単一ファイルを同じディレクトリにコピーするのは、無駄な不要なアクションのようですか?

+0

OpenBTSでの経験はありませんが、make makeの後ろにはmakeがありますが、あなたが今構築したばかりの修正されたパッケージを_installing_(あるいはそうでなければ展開していますか?元のプロセスを停止して再起動しましたか? – davmac

+0

私が修正しようとしている.cppファイルはJSONデータをWebサーバーに送信しているので、 "make clean"と "make"の後に試してみてください。しかし、私はまだ.cppファイルがコンパイルされていないことを意味するJSONデータの変更を見ることができませんか? –

+0

特にそうは思わない。 (通常はC/C++プロジェクトではなく、いくつかの動的言語フレームワークのために)適切な場所に何かを構築することは通常ありません。再構築する前に、ビルドしたバイナリを正しい場所にコピーする必要があると強く思っています。コマンドラインで 'ps -Af'を実行して、実際に何が実行されているかを確認し、アプリケーションのpidを見つけ、'/proc'エントリ( '/ proc/xxx/self')をチェックしてバイナリへのリンクを見つけてください。 – davmac

答えて

0

コンパイルに失敗したため変更が反映されませんでした。質問で引用したエラーメッセージを参照してください。それを修正して再構築してください。

なお、コンピュータを再起動する必要はありません。 が依存関係を正しく表現している場合は、make cleanでも必要はありません。これはで修正したソースファイルを再コンパイルしようとしたためです)。

関連する問題