在一个文件中使用具有相同定义的库

问题描述 投票:0回答:1

我有一个项目,我想同时使用grpc和ncurses,偶然发现了一个奇怪的错误我有一个功能

grpc::Status test(){
    ...
    return grpc::Status::OK;
}

这在没有ncurses的情况下可以正常工作,但是如果我添加

#include <ncurses.h>

整个事情都因这个错误而中断

src/main.cc:32:26: error: expected unqualified-id before ‘(’ token
   32 |     return grpc::Status::OK;
      |                          ^~
make: *** [makefile:34: obj/main.o] Error 1

事实证明,ncurses也有

#undef OK
#define OK (0)

是否有解决此问题的方法?这是我对可行方法的想法,但我不知道如何实现它们。

  • 命名空间修改
  • ifndefs
  • 不同的编译方法

我正在使用以下程序编译程序:

g++ -lncurses  -lprotobuf -lgrpc++ -lgrpc++_reflection 
c++ c g++
1个回答
1
投票

似乎您可以#undef

© www.soinside.com 2019 - 2024. All rights reserved.