makefile遇到的問題,makefile教程

2023-05-22 00:30:22 字數 4558 閱讀 7077

1樓:

你沒有生成c1.的規則。

gcc -o $@或者gcc -o c1

2樓:對面的帥哥

感謝你的解答,但是為什麼我看的教程中沒有gcc -o $@或者gcc -o c1 這句呢?

教程:複製教程的一段內容:

cc=gcc

cflags=-wall

hello: hello_

clean:

rm -f hello hello_

該檔案可以這樣來讀:使用 c 語言編譯器 gcc,和編譯選項『-wall』,從物件檔案『和『hello_fn.

o』生成目標可執行檔案 hello(檔案『和『hello_通過隱含規則分別由『hello.

c』和『hello_生成)。目標clean沒有依賴檔案,它只是簡單地移除所有編譯生成的檔案。

rm命令的選項 『-f』(force) 抑制檔案不存在時產生的錯誤訊息。

另外,需要注意的是,如果包含main函式的cpp檔案為, makefile中最好把可執行檔名也寫成 a。

要使用該 makefile 檔案,輸入 make。不加引數呼叫make時,makefile檔案中的第一個目標被建立,從而生成可執行檔案『hello』:

makegcc -wall -c -o

gcc -wall -c -o hello_ hello_

gcc hello_ -o hello

hellohello, world!

makefile教程

3樓:張三**

基於 make 命令教程 - 阮一峰的網路日誌 ( 總結,可以將make看作一個自頂向下的構建工具。

在makefile相同目錄下執行 make 可檢視效果。

makefile檔名預設 makefile 或 makefile .也可以指定檔案: make -f 或者 make --file=

如果前置條件滿足,執行命令構建目標

目標可以是檔案,也可以是某個操作的名字。

執行 make clean 可以執行這個操作:

如果make檢測到當前目錄中存在clean檔案,就不會執行clean操作,因此最好標明clean是個操作。

前置條件通常是一組檔名,用空格分割,指定了目標是否重新構建的標準:只要有一個前置檔案不存在,或者有過更新(前置檔案的修改時間晚於目標檔案),目標就需要重新構建。

如果當前目錄沒有,make會首到makefile的下面去尋找有沒有生成的目標。

命令列首預設必須是一個tab鍵!如果測試過程有報錯記得檢查下,如果想替換,可用。recipeprefix替換(對整個檔案生效 (the .

recipeprefix is only supported since

每條命令都在單獨的shell中執行,這些shell沒有關聯,也沒有繼承關係。

解決辦法就是通過寫成一行。

或者用反斜槓轉義。

最後一個辦法是加上 .oneshell: 命令 (同上。

# 表示註釋

正常情況下,make會列印每條命令,即使註釋也會列印,在命令前面加@可以關閉列印。

萬用字元

用來指定一組符合條件的檔名,與bash類似 *

允許對檔名進行模式匹配,匹配符是%

下面的命令將 編譯為。

允許使用 = 自定義變數

呼叫shell變數,需要兩個$$,因為make命令會使$轉義。

變數支援引用

為了區分生效時間,分成四類 gnu make - what is the difference between the gnu makefile variable assignments =,and +=stack overflow

內建變數

cc)指向當前編譯器。

make)指向當前make工具。

詳細如表 自動變數

判斷和迴圈 與bash相同

函式格式

內建函式

makefile怎麼用

4樓:帳號已登出

操作步驟如下:

1、開啟dos視窗,輸入nmake,可能會出現如下錯誤提示,如下圖所示。

2、這是因為在vs的安裝過程中,沒有註冊vs的環境變數,可以通過如下方法檢視自己是否已經註冊好vs的環境變數在dos視窗中輸入set path, 則會看到如下提示。

3、將vs的bin目錄新增到系統環境目錄的path裡,註冊好環境變數。

4、重新開啟dos視窗,輸入nmake,如果提示如下,則說明環境目錄註冊成功。

5、以開始我們的編譯了,開啟dos視窗,導航到源**目錄,執行nmake,注意nmake對應的編譯為makefile。

5樓:瀚漠

make如果成功了,那應該是已經有可執行檔案了,除非你makefile寫的有問題。

正常的就是由makefile管理工程,通過make命令進行編譯,make成功就會有可執行檔案了。

你可以試一個最簡單的例子,正常的編譯:gcc -o test 這個時候會生成可執行檔案:test,你在makefile可以寫(gcc前面必須有空格):

default:

gcc -o test

然後執行make,這時也可以得到可執行檔案test,前提是makefile和在同一個目錄,否則需要在makefile時加入路徑。

6樓:匿名使用者

make成功就可以執行了 不需要連結。

7樓:匿名使用者

怎麼執行呢 比如我是一個和的檔案,裡有程式;

gcc -o edit

clean:

rm edit

修改makefile檔案,注意gcc之前是一個tab鍵。

然後make,就會在當前目錄下會生成edit可執行檔案,./edit 即可執行。

make: *** 沒有指明目標並且找不到 makefile。 停止。您 是怎麼解決這個問題的 呢?給能幫助下嗎?

8樓:無和有

是要先。/configure一下,再make,再make install。

原始碼安裝的方法是:

step1 .configure

step2 make

step3 make install

如果仔細看,會發現,解壓之後的軟體原始碼包的目錄下沒有makefile,然後在執行了。/configure

會生成了很多奇怪名字的檔案(./configure命令就是執行軟體原始碼根目錄下的名為configure的指令碼),就包括了makefile檔案,在。/configure的時候,makefile.

in是入口。

如何除錯makefile

9樓:夢逍遙雨菲

你好。makefile不是linux上的嗎,怎麼會用vs2013生成,要麼你裝了qt助手!我自己一般習慣自己寫!

時間序列MA定階問題,時間序列MA定階問題

最後確定使其值最小的階數是模型的合適階數。模型引數最大似然估計時aic 按分析analyze 時間序列timeseries arima模型的順序如圖3.23對話方塊。如何判斷一個時間序列是ma模型 最後確定使其值最小的階數是模型的合適階數。模型引數最大似然估計時aic 按分析analyze 時間序列...

從沒遇到的系統問題,一個從沒遇到的系統問題

很難,只能先把一塊硬碟格式了,然後,把檔案全部到過來.然後把另外一塊全部格式了,重灌系統 現在只能這樣了 多出 exe是中病毒了 windows木馬清道夫 v9.5 綠色註冊版 可以消除每開啟一個檔案就複製一個帶 的同名檔案的現象.今天上課老師說又出來一種防毒軟體 好象是什麼世界第一的哦 去網上查查...

遇到這樣的問題我該怎麼辦啊,遇到這樣的問題我該怎麼辦啊?有苦也說不清!!

趕她走,這樣的朋友不是真朋友.完全不為別人考慮.和你男友先說說,看看他對那個女的怎麼說.如果你的男友只是玩玩她的話,那麼,你就私下裡和那個女的挑明,告訴她她這麼做最後只能是她自己倒黴.我來回答一下你的問題,首先,這是你男朋友找朋友請回來的。這裡是你男朋友自己找的人回來幫忙看店的,而且是包吃包住,你也...