2017-03-06 1 views
-1

Je suis en train d'écrire un code en C++ en QtCreator pour se connecter à un serveur grpc quand je reçois cette erreur du compilateur:Utilisation de GRPC avec QtCreator, undefined reference to `grpc :: ...`

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

Voici mon grpc comprend au sommet de serverproxy.cpp

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

et l'erreur vient de cette ligne:

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

J'ai essayé d'ajouter des fichiers existants et d'ajouter ces en-têtes dans QtCreator (bien qu'il soit très étrange d'avoir à le faire manuellement pour les en-têtes de toutes les bibliothèques externes), mais cela n'a pas fonctionné. Ils sont situés au /usr/local/include/grpc++/**/*.h. J'ai également essayé d'ajouter INCLUDEPATH += /usr/local/include à mon fichier .pro.

J'ai également essayé de nettoyer le projet, en exécutant qmake et en reconstruisant. Que dois-je faire pour pouvoir utiliser ces fonctions grpc++?

Répondre

0

Je regardais tant de fils undefined reference in qtcreator sans remarquer ce que je voyais enfin here qui est ce qui est débarrassé des undefined reference erreurs:

You are facing a link error. Just add in your .pro the path to your lib and its name with :

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

spécifiquement

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