1
我使用了詞層次結構,但我不確定它是否是正確的!讓我解釋。gcc不尊重包含文件的層次結構
我有啊有:
#include <iostream>
#include <vector>
using namespace std;
我了Bh有:
typedef vector<int> int_vector;
int_vector my_function(int x, int y);
最後我有XH,那就是:
#include "A.h"
#include "B.h"
而且X.cpp:
#include "X.h"
// and the rest
但是當我用GCC編譯它時,它在B.h中表示,vector未定義等等。請注意,這是一個解釋問題的例子。我試圖在Linux上編譯的項目在Visual Studio下完全在Windows上編譯。
我可以改變文件,但它是一個300 +文件項目,所以任何幫助或建議,將非常高效?
錯誤是愚蠢的。在一些#if #else #endif部分中,一組代碼正在關閉一個名稱空間的括號......這會導致所有事情都發生!通常情況下,它會假設編譯。我之前使用過這種方法。 OpenGL(至少有一個版本)很常見, – widgg