我有一個自定義分析器,它可以生成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. 將BeforeBuild中生成的文件包含到編譯列表中
- 3. C++編譯生成
- 4. C++ - 預編譯頭文件
- 5. 編譯C++,組織包含文件
- 6. 在編譯時生成信息文件
- 7. 即使在指定ProjectDir(Visual Studio 2012)後編譯包含文件的pro * C文件時發生編譯錯誤
- 8. 自動生成可編譯的C# - 實現INotifyPropertyChanged的包裝類
- 9. 編譯時在所有.c源文件中包含#define
- 10. 包含文件時JSP的預編譯失敗
- 11. 編譯使用動態生成文件
- 12. 確定C++中包含文件的編譯時間
- 13. 在ifdef中包含預編譯頭文件
- 14. 在預編譯事件中使用protogen從.proto文件生成c#文件
- 15. 包括包含.jar文件編譯
- 16. Javascript未預編譯?
- 17. 成功編譯後,mingw編譯器不會生成exe文件
- 18. C++代碼編譯時不包含
- 19. 在編譯時動態生成結構
- 20. 如何在使用GCC編譯C++時包含C11頭文件?
- 21. 反編譯aspx使用預編譯工具生成的頁面
- 22. C或C++編譯器在目標文件中包含未使用的符號
- 23. 編譯器編譯外部包含
- 24. 編譯器編譯也包含了嗎?
- 25. 包括標準庫時未使用預編譯頭文件
- 26. 編譯的類不包含在生成的jar中
- 27. Appcelerator - 在編譯時包含jar包嗎?
- 28. 使用NVIDIA的nvcc編譯器編譯並生成.cl文件?
- 29. 在「目標」文件夾中生成的Maven java類未編譯
- 30. 在gcc c編譯器中生成cswtch
你有一個點。在Prebuild步驟中,似乎不可能在編譯中包含該文件。 – user497267 2010-11-11 15:51:54