2017-03-22 8 views
1

私は状況をどのように解決できるのか、OSが異なる複数のデバイスからC++プロジェクトに取り掛かりたいと思っています。だから私の考えは、私の.cppファイルと.hファイルをプッシュすることでした。だから私はそれを複製し、既存のソースファイルを含むプロジェクトを作成しようとしました。私はNetbeansが適切なプロジェクトのサブディレクトリ(ヘッダファイルやソースファイルのような)にファイルを置く場所を認識することを望んでいました。しかし、Makefileが必要なので動作しません。以前のOSに関する情報が入っているので、Makefileをgitにプッシュするのは無意味です。netbeans g ++と同時にC++クロスプラットフォーム(macとlinux)同時に

Netbeansが適切なフォルダにファイルを置くために十分にスマートになるようにスマートになる方法はありますか?そして、以前のオペレーティングシステムの既存のMakefileなしにファイルを最初からコンパイルできますか?

ありがとうございました。

+1

異なるツールチェーンを使用して異なるターゲットを構築できる同じ相対的構造とよりスマートなメイクファイルを使用することを検討しましたか?そうすれば、すべてのNetbeansが知る必要があるのは 'make 'です。 – user4581301

答えて

0

@ user4581301が何年も話していたことをやっています。

重要:Netbeansプロジェクトタイプは、「既存のソースを持つC/C++プロジェクト」である必要があります。

Makefileはifeq文が含まれているので、LinuxとWindows上で動作が異なります:

MAIN = tc0001 

ifeq (${OS},Windows_NT) 
    include ${MAKELIBHOME}/MINGW32.inc 
    include ${MAKELIBHOME}/WINDOWS.inc 
else 
    MAKELIBHOME := ${HOME}/host/lib/make 
    include ${MAKELIBHOME}/GCC.inc 
endif 

build: ${MAIN} 

clean:; rm -fr core *.o latest* 

MAKELIBHOMEディレクトリが、私はメイクファイル(MINGW32.incGCC.incなど)のさまざまな部分を保存する場所です。 MAKELIBHOMEはWindowsの環境変数ですが、LinuxのNetbeansはそのような種類の環境変数を理解していませんので、この変数をMakefileに割り当てる必要があります。

すべてがGitリポジトリに保存されています。

関連する問題