我有一行 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/