一个项目中出现log4cpp编译错误,但另一个项目中没有 注:我是C++新手。我有一个包含多个项目的现有解决方案,我能够创建一个新的project/.cpp文件,并成功地将.h文件(即,按照预期编译并运行可执行文件)包含在应用程序的一个较低级别的文件/项目中。但是,当我在应用程序的顶层.cpp文件/入口点包含文件头时,会返回几个关于log4cpp/category.hh的语法错误

一个项目中出现log4cpp编译错误,但另一个项目中没有 注:我是C++新手。我有一个包含多个项目的现有解决方案,我能够创建一个新的project/.cpp文件,并成功地将.h文件(即,按照预期编译并运行可执行文件)包含在应用程序的一个较低级别的文件/项目中。但是,当我在应用程序的顶层.cpp文件/入口点包含文件头时,会返回几个关于log4cpp/category.hh的语法错误,c++,boost,compiler-errors,log4cpp,C++,Boost,Compiler Errors,Log4cpp,经过一番搜索,我觉得这可能是由于log4cpp和boost(我有1.55)之间的冲突引起的。现有解决方案具有log4cpp include,my.h/.cpp具有boost\filesystem.hpp include 当我打开category.hh时,错误指向两行,每行都带有“Priority::ERROR”。错误包括“'constant”:在::”右侧的非法标记和“函数不接受0个参数” 看看Priority.hh,它们有一个typedef枚举{},用于不同级别的优先级。当我将光标悬停在每个枚

经过一番搜索,我觉得这可能是由于log4cpp和boost(我有1.55)之间的冲突引起的。现有解决方案具有log4cpp include,my.h/.cpp具有boost\filesystem.hpp include

当我打开category.hh时,错误指向两行,每行都带有“Priority::ERROR”。错误包括“'constant”:在::”右侧的非法标记和“函数不接受0个参数”

看看Priority.hh,它们有一个typedef枚举{},用于不同级别的优先级。当我将光标悬停在每个枚举上时,除了ERROR之外,所有枚举都有一个关联的整数值

令我感到奇怪的是,我最初包含头的文件也包含log4cpp#includes,并且没有抛出任何错误。然而,这两个地点在不同的项目中


随着我对C++的了解,我不知道如何去解决这个问题。我是否需要寻找某个项目属性/设置,以使其在一个项目中失败,而在另一个项目中失败?非常感谢您的帮助。

您是否在头文件中添加了“using namespace which”?如果是这样,停止这样做,并将using子句放在源模块中,而不是头文件中
当我将光标悬停在每个枚举上时,除了ERROR之外,所有枚举都有一个关联的整数值。
您不应该依赖Intellisense或其他实用程序来代替实际学习语言和了解定义的来源。不,代码没有任何“使用命名空间…”语句。关于后者,我正在学习,但不确定下一步的优先级位置。我指的是枚举的定义位置。