我们有一个 C ++ Builder 应用程序,它已经存在多个版本的 Embarcadero RAD Studio 。现在我试图让它在 XE2 中进行编译,并遇到一个问题,其中一个名为 TGroup 的类变为了 TGroup 类的Winsock
令我愤怒的是,我发现系统的初始架构师没有使用任何名称空间,这可以解决这个问题。我决定将所有项目代码添加到单个命名空间中。但很快我突然意识到我必须经历 1400 .h和.cpp文件。
请 为了上帝之爱 ...有没有一个很好的工具可以快速将整个项目封装在命名空间中?
大多数文件在布局上有所不同。有些在include之后定义,有些则没有等等。但是在include之后插入名称空间声明应该可以正常工作然后在最后 #endif 之前关闭它,这是包容性保护 #define 。
答案 0 :(得分:0)
检查有问题的头文件是否已使用名称空间。所有基于VCL的头文件都使用命名空间,但它们底部还有using namespace
个语句,默认情况下会将所有内容转储到全局命名空间中。大多数版本都有特殊的#define
值,您可以将其设置为禁用该行为。