1

我使用了层次结构这个词,但我不确定它是否正确!让我解释。

我有啊:

#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 编译它时,它会用 Bh 表示,vector not defined 等等。请注意,这是一个解释问题的示例。我试图转换为在 linux 上编译的项目可以在 Visual Studio 下的 Windows 上完美编译。

我可以更改文件,但它是一个 300 多个文件的项目,所以有什么帮助或建议会非常有效吗?

4

1 回答 1

0

您发布的代码没有任何问题,而且似乎不太可能在gcc.

更可能的问题不是它看起来的那样。例如,您的项目中可能有多个A.h(或B.h,或X.h)文件,并且某处包含了错误的文件。

我的建议是.cpp通过预处理器 ( ) 运行一个有问题的文件gcc -E并检查结果。这将准确地告诉你什么时候被包括在内。

于 2012-05-11T14:18:55.273 回答