我有一個項目設置是這樣的:Visual Studio的C++頭和CPP鏈接錯誤
Header (.h) files
________________ _________
| Main Big Class |---------------| ModuleB |
| - libraries | _________ | -SubMod |
|________________|--| ModuleA | |_________|
| -SubMod | |
|_________| ____|____
| | SubModB |
____|____ |_________|
| SubModA |
|_________|
All Code (.cpp) files have #include "Main Big Class.h"
於是就ModuleA的子模塊,他們沒有在他們的頭任何包括,他們只擁有的#include 「Main.h」他們的.cpp文件,在那裏我有一個字符串,向量,以及其他一切我在項目中使用的#includes。 在ModuleA我有包括所有它的子模塊,我可以使用向量和字符串從ModuleA任何子模塊..
現在,我要搬到ModuleB,我添加了一個新的子模塊,並做到了和以前一樣,ModuleB有:
#include "SubModuleB1.h"
#include "SubModuleB2.h"
但是,當我嘗試編譯時,Visual Studio顯示了在那裏我有從B.
這些子模塊串和載體有時候註釋行線錯誤,編譯,然後取消註釋它們可能會編譯,但我必須逐行執行,並且單個錯誤意味着它不會除非我再次評論他們。
我試圖清理和重建已經,沒有工作,我不知道爲什麼會這樣。
爲什麼會發生這種情況以及如何解決呢?
編輯:的錯誤是3每行:
error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'
您是否在代碼中使用了namespace std; –
是的,它在主頭文件中。所有其他子模塊和模塊A都可以很好地使用字符串和向量進行編譯,它只是從B創建的這個新創建的子模塊。我記得這發生了,當我創建一個子模塊爲好,但經過一段時間(和構建)它走了,但我不知道它爲什麼。 – Danicco