2010-12-17 158 views
10

我真的不認爲這會很困難。 Geany顯然有能力創建項目,將文件添加到項目中,編譯單個文件,但是即使在使用Google搜索後,我也找不到如何構建和執行項目的明確說明......這非常煩人,因爲我真的像Geany的簡潔和乾淨,整潔的工作空間,但這可能是一個交易斷路器。如何在Geany中編譯/構建/執行C++項目?

+1

哇,如果很難做一些與構建和執行無關的事情,那麼IDE可能會出現嚴重錯誤。 – 2010-12-17 22:41:12

+0

您是否嘗試過項目屬性? – 2010-12-17 22:41:17

+2

@Alexander:它不*是一個IDE。這是一個可以調用外部命令的編輯器。 – 2010-12-17 22:41:45

回答

5

geany不編譯項目。你可以使用makefile來達到同樣的目的。但是,您必須手動或使用可以計算依賴關係的外部命令。 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

要構建項目只需打開該項目的文件,然後在Build菜單中選擇Make(shift + F9)。

用於執行菜單Build and Execute(F5)。

如果項目沒有使用make進行編譯(就像它通常在Linux上那樣),您還必須在菜單的Project項目屬性中編輯項目的屬性。

如果你想了解細節,你也可以閱讀手冊,它可能看起來愚蠢,相比之下,谷歌搜索,但它看起來很清楚,我只是按F1鍵。

+0

您所描述編譯文件,不是項目。 Geany在編譯命令中沒有包含任何項目文件,除了當前,這是主要問題。如何編輯項目屬性以動態包含目錄中的所有文件? – weberc2 2012-05-30 16:24:37

+0

@ webarc2:不,我沒有描述編譯文件(編譯命令F8快捷鍵),而是通過「make」命令構建項目。 make命令通過一個文件(Makefile)來描述項目的所有目標和編譯選項。如果你只習慣於Visual Studio,這可能看起來很奇怪,但編輯工作並不是管理項目文件的工作(並且沒有任何東西強迫你把它們放在同一個目錄中)。 – kriss 2015-12-07 01:12:42

+0

哈哈,謝謝。在我問這個問題的三年半中,我自己就已經學會了答案。 :p – weberc2 2015-12-07 01:15:12

-1

假設你設置了路徑(右鍵點擊my computer > properties > advanced system settings > environment variables,只是谷歌搜索下一步該做什麼)和Mingw,點擊「set build menu commands」並輸入以下內容。包括 」」。

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 2012-05-30 15:47:34

+0

這是一個Linux問題。 – Carcamano 2013-02-09 13:40:17

1

Geany使用外部命令構建項目。這是靈活的,並允許IDE語言不可知,從而能夠構建大型異構項目。

關於C++,創建一個基本的Makefile非常簡單(比上面的例子簡單得多)。設置你的項目建立一個名爲「my_program」的程序,由文件my_program.cpp和bar.cpp組成,並且鏈接到foo庫。所有你需要的是這樣的:

LDLIBS + = -lfoo

MY-:my_program.cpp bar.cpp

保存此與來源相同的目錄名 「生成文件」 。現在你必須創建Geany項目,指出基本目錄是代碼(和Makefile)的存儲位置。

就是這樣!您現在可以使用按鍵編寫程序(shift + F9)。也可以用一個鍵運行它,只需在Geany的項目屬性中輸入程序名稱(示例中的my_program)。

需要注意的是,重要的是你的源文件中的一個具有相同的名稱作爲目標二進制文件,否則無法制作用戶的潛規則,至極Makefile中複雜了一點。

1

編譯使用Geany的F鍵多文件C++項目需要先設置一個Makefile和Geany相應的設置(如在以前的答案中描述);這樣的設置是完成Geany的構建下拉菜單中的F鍵之後成爲特定多文件的項目非常有用。

如果您只是想快速編譯多文件C++項目而無需設置Makefile以及Geany的設置,請使用Geany底部的終端鍵入命令行指令以編譯多線程程序,文件項目:

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

然後,您可以用執行可執行文件:(注意,以上適用於Geany在Linux上,我沒有測試過的其他操作系統上面的命令)

[email protected]:~$ ./my_executable