使用 C++ unit_test_framework语法检查失败的 Eclipse 和 Boost
eclipse and boost unit_test_framework failing syntax check using c++
>我有以下问题。我开始使用 boost 库版本 1.40 进行单元测试。由于其他一些从事该项目的人并没有所有人都在使用 eclipse,因此该程序必须可以使用 makefile 进行编译。所以我们用cmake来生成一个。好消息是,测试正在构建并且工作正常。
但问题是,当使用 eclipse(创建一个 c++ makefile 项目)时,它会抱怨几个语法错误(在源代码视图中)。像这样:BOOST_AUTO_TEST_CASE( my_test )
{ some code }
将被 Eclipse 检测为语法错误。在 IDE 中出现所有这些错误消息真的很烦人。由于在第一行之后,some code
块中的几乎每一行都被标记为具有语法错误。
所以这是我已经尝试过的:
- 我在 GNU C++路径选项中添加了 '/usr/include/boost/'。(属性->C/C++常规->路径和符号->路径)。这通常适用于 cmake 文件中 FindPkgConfig 中包含的其他外部库。以便 eclipse 中的自动完成可以找到正确的类和函数名称。
- 同样的方式直接包含"/usr/include/boost/test/"。
- 将"/usr/lib/libboost_unit_test_framework.so.1.40.0"添加到"库"列表中。
- 将"/usr/lib"添加到库路径。
所以任何人都有提示如何教日食提升宏的语法是正确的??
更新:
我忘了:
系统是Linux,Eclipse版本是3.6.1,CDT版本是:
版本: 1.0.0.201009141542
内部版本号:201009141542
我没有解决方案,但也许是一个提示。我有一个类似的设置,它完美地工作,直到......我记得的唯一相关更改是我更改了测试套件的名称。所以(可能)在那之后,语法高亮变得疯狂。我尝试索引和刷新,但没有帮助。我什至看不到宏扩展,因为语法错误阻止它弹出。
我的猜测是 - 仍然是 - 一些索引问题,因为它以前有效并且我没有更改任何包含路径。它的编译没有问题,但它在整个文档中都出现了这些黄色语法错误标记,这真的非常非常烦人。
但是,这可能不是路径问题,因为它以前对我有用。
我只是使用 Eclipse Helios 自己做的,它确实对我有用......
你不应该添加/usr/include
而不是/usr/include/boost
,因为boost
是程序中使用的包含路径的一部分?
例如,如果您也包含 boost 文件夹,<boost/unit_test.hpp>
只是<unit_test.hpp>
。
这是我在 GNU c++ 包含目录下添加的内容:
/usr/local/include //this is where I store the boost folder
/usr/include/c++/4.5.2 //This was needed since not even <map>, <vector> etc would resolve in eclipse.
感知和自动完成C++几乎不可能在所有情况下都正确。如果 Boost.Test 中使用的许多宏混淆了 Eclipse,那么也许你应该找到一个更干净的单元测试库。我可以推荐 Catch,它具有更干净、更友好的语法,仅是标头,因此更容易设置,并且不依赖于宏。它正在由另一个SO用户积极开发。
我也遇到了这个问题(但在Mac系统上)。一旦我添加了 GNU C++路径选项的提升路径,我重新启动了我的操作系统,Eclipse 不再BOOST_AUTO_TEST_SUITE标记为错误。
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 视图中的参数推导失败:take_while
- 链接到自行创建的dll失败
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- gcc和c++17的过载解析失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- Eclipse:错误:初始化模式失败(无法连接到目标)
- 声纳库贝分析在 Eclipse 中失败,由于找不到异常语言"cpp"在本地分析中抛出错误
- 无法运行程序“g++”:启动失败 - Eclipse C++
- 在eclipse ubuntu上构建opencv项目失败
- 为什么eclipse链接失败
- Boost 单元测试编译通过 Eclipse 失败
- 使用 C++ unit_test_framework语法检查失败的 Eclipse 和 Boost
- Eclipse调试MinGW:执行MI命令失败