c++ - Eclipse CDT条件编译?

标签 c++ eclipse-cdt

我有一行 Eclipse CDT (Oxygen) 代码无法识别的代码。我很确定代码完全没问题。它编译正常,但我仍然喜欢上面没有红色波浪线的项目。

如何让 Eclipse 忽略这一行?我想我会将它包含在只影响代码检查但不影响正常编译的条件编译指令中。像这样:

#ifdef _ECLIPSE_CODE_CHECKER
    my_bad_code();
#endif

但我找不到 Eclipse 预定义的任何此类宏。

让代码检查器简单地接受这一行会更好。

这是一个小例子:

#include <boost/log/core.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/support/date_time.hpp>
#include <boost/log/utility/setup/file.hpp>
#include <boost/log/utility/setup/common_attributes.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

namespace logging = boost::log;
namespace expr = boost::log::expressions;
namespace bpt = boost::posix_time;


int main()
{
  logging::add_file_log(
   logging::keywords::file_name ="file.log",
   logging::keywords::format =
    (expr::stream << expr::format_date_time<bpt::ptime >("T:", "%H:%M:%S") << expr::smessage));    
}

Eclipse 提示 add_file_log 有无效参数。删除 format_date_time 会使错误消失。

最佳答案

您要查找的宏存在并且名为 __CDT_PARSER__:

#ifdef __CDT_PARSER__
    my_bad_code();
#endif

至于接受行的 Eclipse 代码检查器,我建议您 file a CDT bug .

关于c++ - Eclipse CDT条件编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628611/

相关文章:

C++ 意外的整数提升

c++ - 覆盖语法,返回指向固定大小数组的指针的专用模板方法

c++ - 将变量保持在使用它们的循环范围内

c++ - eclipse 朱诺 CDT : Incompatibility with C++11 and debugging issues

eclipse - 在 Eclipse CDT (Juno) 中使用 GDB DSF 发送信号以进行调试

java - 将进程附加到调试 session : empty process list

c++ - 交叉 g++ 编译器链接器错误

c++ - 将值从 Map 复制到 C++ 程序中的 256x256 数组

c++ - 与自动一起使用时出现窄转换错误

c++ - 如何选择 C++ 中的运算符重载?