一、下载jrtplib、jthread、CMake、Visual Studio 2012和Qt5.5.1

jrtplib:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.zip

jthread:http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.zip

CMake:https://cmake.org/download/,最新版已经到3.5.1,我用的是3.1.1

VS:我用的是Visual Studio 2012

Qt:我用的是Qt5.5.1 MinGW版本

二、用Visual Studio 2012编译

jrtplib编译时可以依赖jthread,也可以单独编译,两者的区别参考

《jrtplib简介》http://blog.csdn.net/caoshangpa/article/details/51151942

1.编译jthread

步骤一:解压jthread-1.3.1.zip到E:\jthread-1.3.1,同时新建E:\jthread_build,用于存放编译输出文件。

步骤二:打开CMake,如下图所示。

步骤三:CMake主界面如下图所示,首先选择源文件目录和编译目录。

步骤四:点击上图中的“Configure”按钮,弹出编译器选择框,这里选择VS2012作为编译器,如下图所示。

步骤五:点击上图的“Finish”按钮,主界面变成下图所示,红框1中显示了编译参数信息和一些警告,最后提示“配置完成”。然后在红框2中进行进一步配置,如果要编译成静态库,需勾选“JTHREAD_COMPILE_STATIC”,这里编译成共享库。

步骤六:点击上图中的“Generate”按钮,主界面变成下图所示,提示多了一个“生成完成”。

“生成完成”是指生成了VS2012的工程文件,如下图所示。

步骤七:双击上图中的“jthread.sln”打开jthread工程,如下图所示。

不管是Debug版本还是Release版本,先编译ALL_BUILD子项目,再编译INSTALL子项目,这时在E:\jthread_build目录中生成了jthread相应的Debug和Release库,如下图所示。

2.编译jrtplib

步骤一:解压jrtplib-3.9.1.zip到E:\jrtplib-3.9.1,同时新建E:\jrtplib_build,用于存放编译输出文件。

步骤二:打开CMake。

步骤三:在CMake主界面中首先选择源文件目录E:\jrtplib-3.9.1和编译目录E:\jrtplib_build。

步骤四:点击主界面的“Configure”按钮,弹出编译器选择框,这里选择VS2012作为编译器。

步骤五:点击编译器选择框的“Finish”按钮,主界面变成下图所示,红框2中显示了编译参数信息和一些警告,最后提示“配置完成”。然后在红框1中进行进一步配置,如果要编译成静态库,需勾选“JRTPLIB_COMPILE_STATIC”,这里编译成共享库。如果要依赖jthread库,需勾选“JTHREAD_ENABLED”,同时添加jthread的头文件路径和库文件路径。默认是不依赖jthread库的。注意路径中使用的是反斜杠。

步骤六:点击上图中的“Generate”按钮,主界面变成下图所示,提示多了一个“生成完成”。

“生成完成”是指生成了VS2012的工程文件,如下图所示。

步骤七:双击上图中的“jrtplib.sln”打开jrtplib工程,如下图所示。

不管是Debug版本还是Release版本,先编译ALL_BUILD子项目,再编译INSTALL子项目,这时在E:\jrtplib_build目录中生成了jrtplib相应的Debug和Release库,如下图所示。

3.测试

将生成的jthread.dll和jrtplib.dll拷贝到E:\jrtplib_build\examples\Release目录中,双击该目录下的example1.exe,自发自收的测试结果如下图所示。

三、用MinGW编译

jrtplib编译时可以依赖jthread,也可以单独编译,两者的区别参考

《jrtplib简介》http://blog.csdn.net/caoshangpa/article/details/51151942

1.编译jthread

步骤一:解压jthread-1.3.1.zip到E:\jthread-1.3.1,同时新建E:\jthread_build,用于存放编译输出文件。

步骤二:打开CMake,如下图所示。

步骤三:CMake主界面如下图所示,首先选择源文件目录和编译目录。

步骤四:点击上图中的“Configure”按钮,弹出编译器选择框,这里选择MinGW作为编译器,如下图所示。

步骤五:点击上图的“Finish”按钮,主界面变成下图所示,红框1中显示了编译参数信息和一些警告,从信息可用看出使用的是Qt自带的MinGW编译器,最后提示“配置完成”。然后在红框2中进行进一步配置,如果要编译成静态库,需勾选“JTHREAD_COMPILE_STATIC”,这里编译成共享库。

步骤六:点击上图中的“Generate”按钮,主界面变成下图所示,提示多了一个“生成完成”。

“生成完成”是指生成了Makefile文件,如下图所示。

步骤七:打开Qt5.5.1的命令提示符窗口,如下图所示。

步骤八:cd到E:\jthread_build,依次输入mingw32-make和mingw32-make install进行编译和安装,如下图所示。

此时,E:\jthread_build目录中多出了生成的库文件libjthread.dll.a和libjthread.dll,如下图所示。

2.编译jrtplib

步骤一:解压jrtplib-3.9.1.zip到E:\jrtplib-3.9.1,同时新建E:\jrtplib_build,用于存放编译输出文件。

步骤二:打开CMake。

步骤三:在CMake主界面中首先选择源文件目录E:\jrtplib-3.9.1和编译目录E:\jrtplib_build。

步骤四:点击主界面的“Configure”按钮,弹出编译器选择框,这里选择MinGW作为编译器。

步骤五:点击编译器选择框的“Finish”按钮,主界面变成下图所示,红框2中显示了编译参数信息和一些警告,最后提示“配置完成”。然后在红框1中进行进一步配置,如果要编译成静态库,需勾选“JRTPLIB_COMPILE_STATIC”,这里编译成共享库。如果要依赖jthread库,需勾选“JTHREAD_ENABLED”,同时添加jthread的头文件路径和库文件路径。默认是不依赖jthread库的。注意路径中使用的是反斜杠。

与VS2012编译时不同的是,红框1中不要勾选“JRTPLIB_SUPPORT_MEMORYMGMT”,否则编译会报RTPNew定义与调用无法匹配的错误。RTPNew定义于类RTPMemoryManager中,该类负责内存管理,是个纯虚类,用户如果需要自己来管理内存,只要编写自己的class,并继承自RTPMemoryManager 即可,当然最重要的是需要重载该类的纯虚函数。jrtplib的example5中演示了RTPMemoryManager 的用法,如果不勾选“JRTPLIB_SUPPORT_MEMORYMGMT”,该例子也可以正常运行,不影响使用。

步骤六:点击上图中的“Generate”按钮,主界面变成下图所示,提示多了一个“生成完成”。

“生成完成”是指生成了Makefile文件,如下图所示。

步骤七:打开Qt5.5.1的命令提示符窗口,如下图所示。

步骤八:cd到E:\jrtplib_build,输入mingw32-make进行编译,会提示ui64无法识别的错误,如下图所示。

ui64表示unsigned long long int,放在整数的结尾用于强制类型转换,将源码rtptimeutilities.h中的xxxxxui64都改成(unsigned __int64)xxxxx,这里xxxxx表示整数。

再次编译,成功通过,如下图所示,不仅编译了库文件,还编译了自带的5个例子。

然后输入输入mingw32-make install 进行安装,如下图所示。

此时,E:\jrtplib_build目录中多出了生成的库文件libjrtplib.dll.a和libjrtplib.dll,如下图所示。

3.测试

将生成的libjthread.dll和libjrtplib.dll拷贝到E:\jrtplib_build\examples目录中,双击该目录下的example1.exe,自发自收的测试结果如下图所示。

原创不易,转载请标明出处:https://blog.csdn.net/caoshangpa/article/details/51152541

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib相关推荐

  1. WIN10下Visual Studio 2012的安装

    最近学网络编程需要用到VS,于是就从网上下载,过程那真是费劲.于是就整理下小编遇到的问题和最便捷的步骤分享给大家. 注:首先保证PC没有安装过VS,因为VS的各个版本不能同时存在,如果有比较老的版本可 ...

  2. win10下Visual Studio 2012 update4、AutoCAD 2016和二次开发插件ObjectARX2016环境安装及配置

    1.参考博友的记录 https://blog.csdn.net/selenitic_g/article/details/94724474 2.我的sdk 路径是C:\ObjectARX 2016 默认 ...

  3. Linux下的GCC和Windows下Visual Studio的编译所生成的文件作用

    首先先说一下Linux吧因为这也是博主最早接触的编程开发环境所以比较熟悉的! Linux下就说GCC GCC编译如果不指定编译选项的话是一步到位没有额外的后缀名文件! .i文件:.i文件是GCC -E ...

  4. windows 7下同时安装visual studio 2012和2010

    2019独角兽企业重金招聘Python工程师标准>>> 最进想试一试Visual Studio 2012咋样原来安装了2010版的,好使,就是主题背景不太友好.2012中加入了深色背 ...

  5. [New Portal]Windows Azure Cloud Service (33) 使用Visual Studio 2012 部署Cloud Service

    <Windows Azure Platform 系列文章目录> 笔者已经将工作用的笔记本电脑升级到Windows 8很长一段时间了,开发工具也从Visual Studio 2010升级到了 ...

  6. 你不得不知道的Visual Studio 2012(3)- 创建Windows应用程序

    创建项目 在Visual Studio中创建一个应用程序,应首先创建一个项和一个解决方案.在此示例中,您将创建Windows presentation foundation应用程序. 创建 WPF 项 ...

  7. 如何设定vs2012用linux文件格式,Visual Studio 2012发布网站详细步骤

    1.打开你的Visual Studio 2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击,创建新的发布配置文件: 输入你自 ...

  8. vs2012 visual studio 2012安装失败管道正在关闭解决方法

    vs2012 visual studio 2012旗舰版安装失败管道正在关闭解决方法win7专业版旗舰版 安装包不对,正确的安装包如下供参考 ed2k://%7Cfile%7Ccn_visual_st ...

  9. 你不得不知道的Visual Studio 2012(3)- 创建Windows(WPF)应用程序

    创建项目 在Visual Studio中创建一个应用程序,应首先创建一个项和一个解决方案.在此示例中,您将创建Windows presentation foundation应用程序. 创建 WPF 项 ...

最新文章

  1. nonatomic, retain,weak,strong用法详解
  2. android 弹幕时间戳,【存档】B站直播数据包分析连载(2018-12-11更新/2020-04-12废止)...
  3. maven项目没有错,但是在项目头上有红叉的解决方法
  4. Python多线程——递归锁RLOCK
  5. html日期横向拖动选择控件,一个简单横向javascript日期控件
  6. 深度学习(10)TensorFlow基础操作六: 数学运算
  7. NetBeans IDE 8.0和Java 8的新功能
  8. quarz cron表达式在线配置和运行看效果
  9. 使用Maven Archetype生成工程报错的解决
  10. VLAN TAG 实例
  11. 图深度学习论文笔记整理活动 | ApacheCN
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的相声购票系统
  13. java 杭电1237简单计算器
  14. 每日一道leetcode(python)347. 前 K 个高频元素
  15. android 获取默认字体,Android默认字体
  16. java polygon 用法_从Polygon对象的Java中更新几何图形
  17. 1875 丢手绢 约瑟夫环变形 枚举
  18. java素数对算法_Java版本 质数(也叫素数)算法
  19. c语言expand函数,编撰expand(s1,s2)
  20. getenv、setenv函数(获取和设置系统环境变量) 与 环境变量

热门文章

  1. SQL 中INSERT INTO 的使用方法
  2. MySQL语句—DDL语句
  3. Ceph PG 归置组状态
  4. bat脚本,windown定时关机,取消定时关机,设置延长关机时间
  5. 【Python】自动化办公之Excel拆分并自动发邮件
  6. Centos7 系统登录密码忘记解决方法
  7. 微泡基础知识及其在半导体清洗中的应用
  8. pandas.Series.plot的简单参数使用说明
  9. camera 之 createCaptureSession
  10. 阿里云2017年度贡献者荣誉榜出炉