G ++如何編譯.H即在不同的目錄中的.cpp
例如我得到其是「標頭」和「文件夾的src 「,在頭文件夾中有我的.h和src都有我的.cpp也是我的main.cpp在那裏。G ++如何編譯.H即在不同的目錄中的.cpp
回答
首先.h永遠不會編譯只有源文件被編譯。您可以在源文件中包含該標題的相對路徑。對於如:_
sys.cpp
#include "../header/sys.h"
編輯: -
@Lightness比賽在軌道上: -
我在我的童年教訓是,當我們編譯程序第一前置處理器進入畫面而膨脹.h文件在任何地方包含在sorce文件中。然後生成的源文件被提供給編譯器,然後進一步處理。所以編譯器甚至不知道.h文件是什麼。請糾正我,如果我忘記/ MIS somethinbg
標題是絕對編譯的。這只是它們間接編譯而已。 – 2014-11-06 12:21:09
我的猜測是@ravi意味着通常翻譯單元是用源文件創建的,而不是純粹的包含文件(包含文件是任何使用'#include'指令的文件)。也就是說,如果有指示的話,編譯器不會太在意文件擴展名,並且處理器允許任何東西。 – didierc 2014-11-06 12:28:34
可以在這裏寫一個簡單的makefile代碼嗎? :\ 示例頭文件有prime.h和src文件有prime.cpp和main.cpp – user3551743 2014-11-06 12:38:23
理解例如:
g++ -I header src/main.cpp src/other.cpp
現在您的.cpp文件可以做這樣的事情:
#include <blah.h>
而且他們會發現header/blah.h
。
是否可以在makefile中執行? – user3551743 2014-11-06 12:22:39
當然可以。試試'CXXFLAGS = -Iheader'。 – 2014-11-06 12:24:42
omg,認真,因爲我是新的這些g ++可以讓我看看完整的makefile代碼嗎? :\例如:頭文件夾將具有> prime.h和src文件夾將具有prime.cpp和main.cpp。 – user3551743 2014-11-06 12:27:45
- 1. 如何編譯目錄中的所有cpp文件?
- 2. yaml-cpp不能用g ++編譯
- 3. 如何在子目錄中使用.cpp和.h文件?
- 4. 使用G ++編譯多個*的.cpp和* .h文件中崇高2
- 5. 從.h和.cpp進行條件編譯
- 6. 將一個目錄中的cpp文件編譯到另一個目錄中
- 7. MINGW CPP G ++適當命令來編譯
- 8. 如何獲取Code :: Blocks以在同一目錄中顯示.h和.cpp文件?
- 9. 如何在makefile中編譯.h文件?
- 10. 如何在C++中編譯glib - 在編譯時編譯錯誤.cpp
- 11. 如何使用一個g ++命令編譯多個不相關的.cpp文件
- 12. 在遞歸下編譯目錄下的所有cpp文件
- 13. 如何在不同的CPP
- 14. 一個轉換的* .c/* H項目(編譯爲C++),以*的.cpp/* HPP
- 15. Makefile編譯當前目錄和所有子目錄中的所有.cpp文件
- 16. 如何在LabVIEW中編譯用於編譯標誌的不同目標的VI?
- 17. Makefile用於編譯許多.cpp和.h到lib
- 18. 與Maven在不同目錄中編譯類文件的罐子
- 19. 編譯同一目錄
- 20. g ++與python.h,如何編譯
- 21. 如果源編譯在不同的目錄中,編譯器輸出(.class文件)會有所不同
- 22. 從不同目錄編譯java文件
- 23. 如何編譯SRC的.cpp /和在建/輸出的.o
- 24. C++ - 的.h和.cpp
- 25. 在g ++中編譯爲gprof
- 26. java ant編譯在相同的包中找不到同一目錄中的類
- 27. 編譯咖啡目錄到JS的相同目錄中
- 28. directxtutorial.com教程不會在g ++中編譯
- 29. 'ptr_fun(isalnum)'不會在g ++中編譯?
- 30. g ++編譯失敗,Cmake不編譯
在命令行選項'-I'g ++。 – didierc 2014-11-06 12:17:55