我正试图在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++
功能?
答案 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++