Comment installer la liaison C ++ pour ZeroMQ sur Mac OS X?
Sur
g++ actualApp.cpp -lzmq
- Je obtenir
actualApp.cpp:6:19: error: zmq.hpp: No such file or directory
actualApp.cpp: In function ‘int main()’:
actualApp.cpp:13: error: ‘zmq’ has not been declared
actualApp.cpp:13: error: expected `;' before ‘context’
actualApp.cpp:14: error: ‘zmq’ has not been declared
actualApp.cpp:14: error: expected `;' before ‘socket’
actualApp.cpp:15: error: ‘socket’ was not declared in this scope
actualApp.cpp:18: error: ‘zmq’ has not been declared
actualApp.cpp:18: error: expected `;' before ‘request’
actualApp.cpp:21: error: ‘request’ was not declared in this scope
actualApp.cpp:28: error: ‘zmq’ has not been declared
actualApp.cpp:28: error: expected `;' before ‘reply’
actualApp.cpp:29: error: ‘reply’ was not declared in this scope
actualApp.cpp: At global scope:
actualApp.cpp:33: error: expected constructor, destructor, or type conversion at end of input
pour
//
// Hello World server in C++
// Binds REP socket to tcp://*:5555
// Expects "Hello" from client, replies with "World"
//
#include <zmq.hpp>
#include <string>
#include <iostream>
#include <unistd.h>
int main () {
// Prepare our context and socket
zmq::context_t context (1);
zmq::socket_t socket (context, ZMQ_REP);
socket.bind ("tcp://*:5555");
while (true) {
zmq::message_t request;
// Wait for next request from client
socket.recv (&request);
std::cout << "Received Hello" << std::endl;
// Do some 'work'
sleep (1);
// Send reply back to client
zmq::message_t reply (5);
memcpy ((void *) reply.data (), "World", 5);
socket.send (reply);
}
return 0;
}
J'ai installé zeromq sur Mac OS X, ce ./configure
make
make install
.
Je peux compiler le C exemples sans erreurs à l'aide de la -lzmq
drapeau.
Comment dois-je utiliser le C++ .hpp
en-tête de https://github.com/zeromq/cppzmq?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
J'ai déplacé le fichier zmq.php /usr/local/include où zmq.h y avait aussi
Vous n'avez pas fourni un chemin pour les fichiers et le dossier lib si libzmq.il est dans un autre dossier. Vous avez besoin d'utiliser
g++ actualApp.cpp -I$(Path to ZMQ include files) -L$(Path to ZMQ library files) -lzmq
Vous avez sans doute aussi envie de donner
-o outFileName
sauf si vous voulez que votre fichier exécutable pour être nomméa.out
Ajouter /usr/local/include de votre chemin de recherche