四种环境下编译生成nanomsg库

字数 649阅读 875

VS2013编译生成nanomsg库文件

因为工作中用到了nanomsg,又需要编译成库来使用,发现网上资料很少,所以做此记录。

编译准备,CMake工具软件和下载好的nanomsg源码包。我的是CMake 3.6.2,nanomsg是1.0.0版本。

  1. 解压你的nanomsg。打开CMake,添加源码目录,和编译构建目录


    添加目录
  2. 添加编译环境


    添加编译环境
  3. 默认是生成动态库,但如果要生成静态库,就勾选静态库选项,然后点击Generate。ok,一切顺利


    静态库或动态库选择
  4. 进入我们自己创建的目录,找到nanomsg.sln,用VS2013打开,然后ALL_BUILD。成功后,去对应的目录下的Debug目录找到编译出来的动态库,大功告成。

  5. 其实如果只是想要动态库或者静态库的话,可以少生成一些模块,只要我们想要的就行了。


    化繁为简

MinGW编译生成nanomsg库

由于项目是基于Qt的,使用的是基于MinGW编译的,所以有了此文档说明。

  1. 打开nanomsg源码顶层目录,找到CMakelists.txt文件。打开此文件,跳到92行,修改对应开关。


    找到CMakeLists.txt

    修改CMakeLists.txt
  2. 打开Qt Creator,打开现有工程,找到源码顶层目录的CMakeLists.txt文件,打开。下一步,配置创建器,执行CMake,点击完成。


    配置
  3. 点击编译,编译完成之后,找到编译输出的目录,发现有个nanomsg.dll文件,如果想要生成静态库,可以修改对应的开关,使之生成静态库。


    编译

Ubuntu下编译nanomsg库

首先你要安装cmake工具。sudo apt-get install cmake

  1. 解压nanomsg源码文件,进入目录,修改CMakeLists.txt,只编译生成静态库或者动态库,其他模块关掉。然后执行./configure
  2. 进入src目录,执行make,返回顶层目录,发现已经有libnanomsg.so躺在那里了。注意软连接
  3. 同样的,你也可以编译静态库文件。

交叉编译nanomsg库

首先你要保证环境变量,当前是交叉编译环境。
步骤和在Ubuntu下编译一样,最后生成后,file一下生成的库文件,是不是和普通的pc库格式不一样。

推荐阅读更多精彩内容