我應該通過Makefile編譯用C編寫的程序。我應該在Makefile中插入一些選項,例如:-O2, -march=i686
。我如何在Makefile中插入這個選項而不寫入它?在不編輯的情況下添加編譯器選項Makefile
回答
你應該使用像CFLAGS這樣的宏。查看GNU GCC documentation。
像這樣的東西應該工作:
CFLAGS := $(CFLAGS) -O2 -march=i686
或者,如果你不喜歡修改Makefile使用:
make CFLAGS='-O2 -march=i686'
其他選項會雖然自動拾取。見overriding variables。
請注意,CFLAGS可能是從複雜的子宏創建的。重寫其中一個子宏可能會更好。如果在CFLAGS中沒有相互矛盾的選項,我經常使用''使CC =「gcc -O2 -march = i686」'「來達到理想的結果。 – 2010-08-30 18:23:28
在我工作的地方,我們使用專用的用戶定義宏來處理這樣的事情 - ADDED_CFLAGS,ADDED_ASMFLAGS,ADDED_EXEFLAGS,... – Sparky 2010-08-30 19:06:39
make文件中有時會有一些變量允許您在不重寫任何內容的情況下添加其他標誌:例如'XCFLAGS','XLIBS'。看看makefile。 – 2015-10-12 10:35:02
- 1. 在不使用makefile的情況下編譯頭文件
- 2. Xcode makefile或編譯選項
- 3. gcc 4.3.3缺省情況下啓用編譯器選項
- 4. 如何在不添加不可達代碼的情況下編譯異步lambda?
- 5. 如何在不崩潰編譯器的情況下實現MutableCollectionType?
- 6. 在沒有Gui編輯器的情況下向Gui添加3個jTextArea
- 7. RxJava編譯下列情況下錯誤
- 8. 在不編輯的情況下將自定義單元添加到UITableview
- 9. 爲什麼在這種情況下編譯器不會抱怨?
- 10. 編譯器可以在沒有擴展的情況下編譯代碼嗎?
- 11. 如何在沒有QtCreator的情況下編譯Qt 5項目?
- 12. 如何在jqGrid中添加和編輯表單的不同編輯選項
- 13. 默認情況下,UITableView編輯模式
- 14. jqGrid:如何在啓用表單編輯的情況下在每一行添加編輯和刪除按鈕?
- 15. C#編輯器和編譯器首選項
- 16. 如何添加編輯選項列表
- 17. 「你必須在奇怪的情況下添加對彙編的引用」編譯器錯誤
- 18. 如何在不打開編輯器的情況下在VBA編輯器中動態打開類對象?
- 19. 在沒有編輯的情況下將樣式添加到h1標記
- 20. 在沒有編輯XML的情況下從後端添加小部件
- 21. 如何在不編譯宏的情況下啓動excel?
- 22. 在不編譯DLL的情況下部署asp.net應用程序
- 23. 如何在不重新編譯FLA的情況下更新SWF
- 24. Scala代碼在不使用scalac編譯的情況下運行?
- 25. 如何在不調試的情況下編譯PHP擴展?
- 26. git:在不使用編輯器的情況下在現有提交的末尾添加行
- 27. Makefile/double編譯
- 28. 「編譯項目」在Word 2010 VBA編輯器中不可用
- 29. 在Android Studio xml編輯器中添加第三個選項卡
- 30. 如何在不編譯當前項目的情況下啓動psci?
我們可以看到你的Makefile中已經有了什麼嗎? – Starkey 2010-08-30 17:59:33
它必須是通用的Makefile – Gnufabio 2010-08-30 18:02:17
http://stackoverflow.com/questions/1250608/passing-a-gcc-flag-through-makefile – 2016-02-22 14:52:35