Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何安装C++;Mac OS X上ZeroMQ的绑定?_C++_Macos_Zeromq - Fatal编程技术网

C++ 如何安装C++;Mac OS X上ZeroMQ的绑定?

C++ 如何安装C++;Mac OS X上ZeroMQ的绑定?,c++,macos,zeromq,C++,Macos,Zeromq,在 我明白了 g++ actualApp.cpp -lzmq 为了 // /C++中的World World Server //将REP套接字绑定到tcp://*:5555 //需要客户端的“你好”,回复为“世界” // #包括 #包括 #包括 #包括 int main(){ //准备上下文和套接字 zmq::context\u t context(1); 套接字(上下文,zmq_代表); socket.bind(“tcp://*:5555”); while(true){ zmq::消息请求

我明白了

g++ actualApp.cpp -lzmq 
为了

//
/C++中的World World Server
//将REP套接字绑定到tcp://*:5555
//需要客户端的“你好”,回复为“世界”
//
#包括
#包括
#包括
#包括
int main(){
//准备上下文和套接字
zmq::context\u t context(1);
套接字(上下文,zmq_代表);
socket.bind(“tcp://*:5555”);
while(true){
zmq::消息请求;
//等待客户端的下一个请求
socket.recv(&请求);

std::cout我将文件zmq.hpp移动到/usr/local/include,其中zmq.h也在那里

如果libzmq.so在另一个文件夹中,您没有提供包含文件和lib文件夹的路径。您需要使用

g++actualApp.cpp-I$(ZMQ包含文件的路径)-L$(ZMQ库文件的路径)-lzmq

您可能还希望给出
-o outFileName
,除非您希望将可执行文件命名为
a.out

我应该如何使用这个.hpp文件

  • 从上面的链接下载CPP绑定(只是zmq.hpp头文件)
  • 确保在编译.ex:g++yourfile.cpp-I(zmq.hpp的路径)-lzmq时包含此头文件

  • 将/usr/local/include添加到您的搜索路径中

    使用带有Xcode(10.3)的自制(2.1.11)的我的食谱

    步骤1

    从自制软件安装ZMQ(4.3.2)

    //
    //  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;
    }
    
    步骤2

    从GitHub克隆cppzmq

    brew install zeromq
    
    
    步骤3:可选

    构建并测试cppzmq

    git clone https://github.com/zeromq/cppzmq.git
    
    步骤4

    设置Xcode项目

  • cppzmp/zmq.hpp
    复制到
    /usr/local/include
  • /usr/local/include
    添加到
    生成设置的
    标题搜索路径
  • 找到合适的标志:
    pkg config--libs libzmq
    。将结果放入
    构建设置的
    其他链接器标志中
  • #include
    添加到源文件中
  • 构建您的Xcode项目

  • 如何编译C++代码?我做了C++,GC-SturalApp.c—LZMQI正在尝试C++ + GealApp.CPP -LZMQI将头文件和源文件都移动到/Ur/Posi/In,它仍然说“致命错误:没有这样的文件或目录”:<代码> G++AsiCyServ.CPP-STD= C++ 11 -I/Ur/Prime/IDEAL -L/USR/Studio/IORK-LZMQ-O AsiCyServer
    为什么.hpp标题不包括在tarball中?
    git clone https://github.com/zeromq/cppzmq.git
    
    cd /path/to/cppzmq
    ./ci_build.sh