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行,修改对应开关。

  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库格式不一样。

四种环境下编译nanomsg库相关推荐

  1. 编译高性能linux so库,关于如何在linux环境下生成a库和so库(改,附图)-Go语言中文社区...

    一般linux环境下的链接库分为a库和so库,分别表示静态链接库和动态链接库,其作用是把C程序编译好做成一种可执行链接文件,c主程序文件调用这些程序的函数接口是可以使用a库或so库,在主程序中只需要i ...

  2. VC环境下的静态库(lib)使用和动态库(Dll)的使用(清晰版)

    VC环境下的静态库使用 一.  静态库包括.lib和.h文件,在工程中使用静态库分为3步: <1> 在工程中加入静态库,有三种方法: **方法一:项目设置中引用.lib,project-& ...

  3. ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7

    ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7 安装步骤: 1.安装cuda9.0:https://blog.csdn.net/zhuangwu116/articl ...

  4. UBUNTU环境下编译的openwrt

    UBUNTU环境下编译的openwrt 请执行这个命令以安装编译依赖包:sudo apt-get update 然后再输这个: sudo apt-get install gcc g++ binutil ...

  5. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  6. NDK实践(一)在linux环境下编译ffmpe

    系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...

  7. Ubuntu20.04环境下编译MNN

    前言 MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测.目前,MNN已经在阿里巴巴的手机淘宝.手机天猫.优酷等20多个App中使用,覆盖直播.短视频.搜索推荐.商品图像 ...

  8. linux环境下编译部署php生产环境

    linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...

  9. 超详细的mac环境下编译魔改frida-server

    文章目录 前言 一.编译最新版本 1.搭建环境 2.代码下载 3.编译 二.魔改再编译 1.切换到指定tag:15.1.12 2.打hluda patch 3.编译 前言 对于frida的编译和魔改想 ...

最新文章

  1. vue项目刷新当前页面的三种方法
  2. Postman 解决 “Could not get any response” 问题
  3. JavaScript的学习
  4. 算法-排序-快速排序(包含多种快速排序)
  5. 关于网页导航栏制作的几种方法与常见问题解决(新人向)
  6. geoTools学习笔记001---(简介)
  7. android 改变图像亮度,【Android】使用SeekBar调整图像的色度、饱和及度亮度
  8. python怎么安装requests模块_python安装requests第三方模块
  9. [家里蹲大学数学杂志]第413期插值不等式
  10. The Linux commands you need!
  11. Xcode 打包 framework
  12. python-snap7的安装记录
  13. NSSM 制作 window 服务
  14. 学习笔记-极客时间 玩转 git 三剑客 课程记录
  15. 职场沟通10个小技巧 让你迅速融入团队
  16. KEIL MDK RTX 实时操作系统
  17. CSS filter 有哪些神奇用途
  18. Linux下程序中如何使用mkdir建立文件夹
  19. ubuntu能连接wifi或手机USB共享热点,不能上网
  20. 【UEFI实战】HII之常用函数

热门文章

  1. Leetcode 45. 跳跃游戏 II
  2. 大数据实战二十四课 - Spark SQL04
  3. samba服务器搭建详细配置
  4. spark使用supervisor守护进程
  5. 刘强东终于向自己的兄弟下手了!
  6. PIC单片机-PWM波
  7. 【数字IC/FPGA】电平同步、脉冲同步、边沿同步
  8. IllegalArgumentException
  9. [读书笔记] Deep learning by Yann LeCun1,2, Yoshua Bengio3 Geoffrey Hinton4,5 on nature
  10. Intellij Idea创建maven项目,App.java代码编辑区没有run选项