0

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

经过一番搜索,我似乎基于一些 SO 问题,这可能是由 log4cpp 和 boost(我有 1.55)之间的冲突引起的。现有的解决方案包含 log4cpp,而我的 .h/.cpp 包含 boost\filesystem.hpp。

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

查看 Priority.hh,他们有一个 typedef enum {} 用于各种优先级。当我将光标悬停在每个枚举上时,除了错误之外,它们都有一个关联的整数值。

对我来说奇怪的是,我最初包含我的标题的文件也有 log4cpp #includes,并且不会抛出任何错误。然而,这两个地点在不同的项目中。

以我对 c++ 的了解,我只是不确定如何解决/调试这个问题。是否有我需要寻找的某个项目属性/设置会导致它在一个项目中失败而在另一个项目中失败?任何帮助是极大的赞赏。

4

0 回答 0