我有一個自定義分析器,它可以生成C++文件並將它們添加到項目中。我想要做的是在構建我的項目之前調用這個解析器,並在同一個構建中編譯新生成的文件。我使用VS2010。我試圖調用PreBuild中的解析器,生成的文件已正確添加到項目中(我可以在IDE中看到它們),但它們未被編譯。就像項目不知道它裏面有新文件一樣。預編譯時自動生成的C++文件未包含在編譯中
0
A
回答
1
如果在PreBuild階段添加到項目中的文件實際上包含在編譯中,我不確定但不完全知道。我相信包含的文件是在PreBuild階段運行之前計算的。
解決此問題的一種方法是將空文件添加到項目中並將其包含在編譯中。讓你的prebuild階段覆蓋這個文件,後期階段重新初始化它爲空。這應該解決這個問題。
0
如果生成的文件被命名爲.cpp,它們應該被編譯。否則,您可能需要指定它們應該以某種方式編譯爲C++文件。
如果您生成的文件是從您編輯的其他文件創建的,則可以在生成器的「輸入」文件中設置自定義編譯步驟。這有助於重建文件。
0
自動生成的文件不會自動添加到項目中,因此不會被編譯。你可以在IDE中看到它們,因爲它們與你的項目文件在同一個文件夾中。
用新的自動生成的內容覆蓋現有項目文件的唯一障礙是,如果使用源代碼管理系統,那些文件將是隻讀的。在自動生成階段覆蓋它們可能會擾亂你的源代碼控制過程。
你可以試試這個:
MyProject/
MyWrapperFile.cpp <-- official project file
MyWrapperFile.cpp內容
#include "stdafx.h"
#include "_AutoGenFile1.cpp"
#include "_AutoGenFile2.cpp"
// etc.
相關問題
- 1. C++編譯生成
- 2. C++ - 預編譯頭文件
- 3. 編譯C++,組織包含文件
- 4. 在編譯時生成信息文件
- 5. 編譯使用動態生成文件
- 6. 確定C++中包含文件的編譯時間
- 7. 包括包含.jar文件編譯
- 8. 成功編譯後,mingw編譯器不會生成exe文件
- 9. 在編譯時動態生成結構
- 10. 如何在使用GCC編譯C++時包含C11頭文件?
- 11. 包括標準庫時未使用預編譯頭文件
- 12. C或C++編譯器在目標文件中包含未使用的符號
- 13. 編譯器編譯外部包含
- 14. 編譯器編譯也包含了嗎?
- 15. Appcelerator - 在編譯時包含jar包嗎?
- 16. 在「目標」文件夾中生成的Maven java類未編譯
- 17. 需要包含預編譯頭兩次
- 18. 預編譯jsp文件發生異常
- 19. 在gcc c編譯器中生成cswtch
- 20. 編譯時代碼生成
- 21. 數組編譯時生成?
- 22. 生成C#編程和編譯...發出
- 23. Visual Studio的預編譯頭文件包含什麼?
- 24. Qt包含和預編譯頭文件的最佳實踐?
- 25. 在D中編譯時間碼生成
- 26. Arduino的生成文件無法編譯
- 27. 編譯ANTLRWorks生成的類文件
- 28. 來自未預先編譯的ASP.NET網站的預編譯相關錯誤
- 29. C++重構預編譯頭文件
- 30. 預編譯標準庫頭文件 - C++
你有一個點。在Prebuild步驟中,似乎不可能在編譯中包含該文件。 – user497267 2010-11-11 15:51:54