使用带有QtCreator的grpc,未定义对`grpc :: ...`的引用

时间:2017-03-06 11:10:47

标签: c++ qt qt-creator grpc

我正试图在QtCreator中用C ++编写一些代码,以便在出现此编译器错误时连接到grpc服务器:

/some/path/serverproxy.cpp:40: error: undefined reference to `grpc::InsecureChannelCredentials()'

我的grpc包含在serverproxy.cpp

的顶部
#include <grpc++/channel.h>
#include <grpc++/create_channel.h>
#include <grpc++/security/credentials.h>

错误来自这一行:

somenamespace::NewStub(
        grpc::CreateChannel("someaddress",
                            grpc::InsecureChannelCredentials()))};

我尝试添加现有文件并在QtCreator中添加这些标头(尽管必须手动为所有外部库的标头执行此操作),但它没有用。它们位于/usr/local/include/grpc++/**/*.h。 还尝试将INCLUDEPATH += /usr/local/include添加到我的.pro文件中。

我还尝试清理项目,运行qmake并重新构建。

如何才能使用这些grpc++功能?

1 个答案:

答案 0 :(得分:1)

我看了很多undefined reference in qtcreator个帖子而没有注意到这一点,我终于看到了here这就是摆脱undefined reference错误:

  

您正面临链接错误。只需在.pro中添加您的路径即可   lib及其名称:

     

LIBS += -L<path_to_the_lib> -l<libName>

具体地

LIBS += -L/usr/local/include/grpc++ -lgrpc++