2010-12-17 59 views
10

私は本当にこれが難しいとは思わなかった。 Geanyは明らかにプロジェクトを作成し、プロジェクトにファイルを追加し、個々のファイルをコンパイルする能力を持っていますが、それを検索しても、プロジェクトを構築し実行する方法についての明確な説明は見つかりませんでした... Geanyとそのきれいで整然とした作業スペースのようなシンプルさがありますが、これはディール・ブレーカーになる可能性があります。GeanyでC++プロジェクトをどのようにコンパイル/ビルド/実行しますか?

+1

うわー、ビルドや実行のように簡単に何かをするのが難しい場合は、IDEに深刻な問題があるかもしれません。 –

+0

プロジェクトプロパティを試しましたか? –

+2

@アレクサンダー:それはIDEではありません。それは外部コマンドを呼び出すことができるエディタです。 –

答えて

5

Geanyはプロジェクトをコンパイルしません。あなたは同じ目的を果たすためにメークファイルを使うことができます。ただし、手動で作成するか、依存関係を把握できる外部コマンドを使用する必要があります。 Geanyの "make"コマンドは、デフォルトで "makefile"と呼ばれるmakeファイルを使用するので、makeファイルにその名前を付けるだけですべてがうまくいくはずです。

all: hello 

hello: main.o factorial.o hello.o 
    g++ main.o factorial.o hello.o -o hello 

main.o: main.cpp 
    g++ -c main.cpp 

factorial.o: factorial.cpp 
    g++ -c factorial.cpp 

hello.o: hello.cpp 
    g++ -c hello.cpp 

clean: 
    rm -rf *o hello 

hereから取られた例。そのページの詳細情報も表示されます。

2

thisによれば、F8を押してコンパイルし、F5を押してプロジェクトを実行します。まず、記事で述べたように、コンパイラをセットアップする必要があります。

4

プロジェクトをビルドするには、プロジェクトのファイルを開き、[ビルド]メニュー([シフト+ F9])で[作成]を選択します。

メニューのビルドと実行(F5)。

プロジェクトがmakeを使用してコンパイルされない場合(Linuxで通常そうであるように)、プロジェクト項目のプロパティも編集する必要があります。

詳細を知りたい場合は、マニュアルを読むこともできますが、グーグルと比べると馬鹿に見えるかもしれませんが、私には明らかです... F1キーを押してください。

+0

プロジェクトではなくファイルをコンパイルすると説明しました。 Geanyはコンパイルコマンドに現在のプロジェクトファイルを含めませんが、これは主な問題です。また、プロジェクトのプロパティを編集して、ディレクトリのすべてのファイルを動的に含めるにはどうすればよいですか? – weberc2

+0

@ webarc2:いいえ、私はファイルをコンパイルする(F8のショートカットをコンパイルする)ことを説明しませんが、 "make"コマンドでプロジェクトをビルドします。 makeコマンドは、プロジェクトのすべてのターゲットとコンパイルオプションを記述するファイル(Makefile)を通して動作します。これはVisual Studioだけに慣れていると変なように見えるかもしれませんが、プロジェクトファイルを管理するのはエディタの仕事ではありません(同じディレクトリにすべてを置く必要はありません)。 – kriss

+0

ハハ、ありがとう。私はその質問をしてから3.5年ぶりに自分で答えを学びました。 :p – weberc2

-1

パスを設定して(右クリックmy computer > properties > advanced system settings > environment variables、次に行うことをgoogleで検索する)、Mingwが正しく「ビルドメニューコマンドを設定」をクリックし、次のように入力します。含んでいる ""。

compile = g++ -O0 -g3 -Wall -c -o"%e.o" "%f" 

Build = g++ -o"%e" ./%e.o 

Execute = "./%e" 

(コンパイルされた後)を構築しようとしたときにエラーが出た場合、これは、私のために働いていたものですいくつかのアクセス許可の問題について何かを言うこと、それは、B/C UACが建物からGeanyをブロックしている窓のです。これを解決するには、単にgeanyを管理者として実行する必要があります。

+3

パスについてのそのビットは、他のプラットフォームではうまくいかないでしょう。 – weberc2

+0

これはLinuxの質問です。 – Carcamano

1

Geanyは外部コマンドを使用してプロジェクトをビルドします。これは柔軟性があり、IDEが言語に依存しないため、大規模で異機種のプロジェクトを構築することができます。

C++に関しては、基本的なMakefileを作成するのは非常に簡単です(上記の例よりはるかに簡単です)。あなたのプロジェクトが "my_program"と呼ばれるプログラムをビルドすると、ファイルmy_program.cppとbar.cppで構成され、fooライブラリとリンクします。必要なのはこれです:

LDLIBS + = -lfoo

my_program:my_program.cppのbar.cpp

保存源の同じディレクトリに名前 "メイクファイル" と、この次に、ベースディレクトリがコード(とMakefile)が格納されている場所であることを示すGeanyプロジェクトを適切に作成する必要があります。

これだけです!キーの押下でプログラムをコンパイルできるようになりました(シフト+ F9)。キーで実行するには、Geanyのプロジェクトプロパティにプログラム名(この例ではmy_program)を入力するだけです。

ソースファイルのうちの1つがターゲットバイナリと同じ名前を持つことが重要です。そうしないと、メイクファイルを少し複雑にするMakeの暗黙的な規則をユーザーが使用できなくなります。

1

GeanyのFキーを使用して複数ファイルのC++プロジェクトをコンパイルするには、最初にMakefileとそれに対応する設定をGeanyで設定する必要があります(これまでの回答を参照)。このようなセットアップが完了したら、GeanyのBuildのFキーが、その特定のマルチファイルプロジェクトに役立ちます。

メイクファイルとGeanyの設定をセットアップすることなく、マルチファイルのC++プロジェクトをすばやくコンパイルしたい場合は、Geanyの最下部にあるターミナルを使用して、マルチファイルC++プロジェクトをコンパイルし、ファイルプロジェクト:

[email protected]:~$ g++ my_source1.cpp my_source2.cpp -o my_executable 

あなたは、その後に実行可能ファイルを実行することができます。

[email protected]:~$ ./my_executable 

は、(上記は、Linux上でGeanyに適用されることに注意してください。私は他のオペレーティングシステム上で上記のコマンドをテストしていません。)

関連する問題