Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

一、下载jrtplib、jthread、CMake、VisualStudio2012和Qt5.5.1jrtplib:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.zipjthread:http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.zipCM

大家好,又见面了,我是你们的朋友全栈君。

一、下载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,如下图所示。

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

 

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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库的。注意路径中使用的是反斜杠。

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

 

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

3.测试

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

三、用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,如下图所示。

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

 

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

 

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

 

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”,该例子也可以正常运行,不影响使用。

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

 

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

 

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

3.测试

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

Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126843.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最短路径:Dijkstra算法(求单源最短路径)Floyd算法(求各顶点之间最短路径)[通俗易懂]

    最短路径:Dijkstra算法(求单源最短路径)Floyd算法(求各顶点之间最短路径)[通俗易懂]最短路径:在一个带权图中,顶点V0到图中任意一个顶点Vi的一条路径所经过边上的权值之和,定义为该路径的带权路径长度,把带权路径最短的那条路径称为最短路径。DiskStra算法:求单源最短路径,即求一个顶点到任意顶点的最短路径,其时间复杂度为O(V*V)如图所示:求顶点0到各顶点之间的最短路径代码实现:#include<stdio.h>#include&l…

    2022年6月22日
    35
  • 简单使用FusionCharts(Free)[通俗易懂]

    简单使用FusionCharts(Free)[通俗易懂]介绍FusionChartsFree是一个跨平台,跨浏览器的flash图表组件解决方案,能够被ASP.NET,ASP,PHP,JSP,ColdFusion,RubyonRails

    2022年7月4日
    22
  • Pytest(15)pytest分布式执行用例[通俗易懂]

    Pytest(15)pytest分布式执行用例[通俗易懂]前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月28日
    5
  • 极电竞比分网(js逆向,webpack)「建议收藏」

    目标网站:https://www.jdj007.com/目标参数:sign全局搜索sign在第一个js文件里找到可疑加密位置通过观察sign参数可以猜到加密的最后一步可能用到了url编码,而这里可以看到encodeURIComponent,因此断定这里是加密位置。s.a.stringify(n)是加密的关键,因此首先我们要找的就是n,可以看到n=i()(t),通过断点我们可以看到t=“timestamp=1604631529347&secret=aHVheWluZ19zZWNy

    2022年4月6日
    44
  • 跳频介绍_跳频功能

    跳频介绍_跳频功能跳频是最常用的扩频方式之一,其工作原理是指收发双方传输信号的载波频率按照预定规律进行离散变化的通信方式,也就是说,通信中使用的载波频率受伪随机变化码的控制而随机跳变。从通信技术的实现方式来说,“跳频”是一种用码序列进行多频频移键控的通信方式,也是一种码控载频跳变的通信系统。从时域上来看,跳频信号是一个多频率的频移键控信号;从频域上来看,跳频信号的频谱是一个在很宽频带上以不等间隔随机跳变的。其中:跳

    2025年8月12日
    2
  • 一致性哈希算法 Java实现

    一致性哈希算法 Java实现一致性哈希算法虚拟节点Java版本的简单实现。

    2022年7月27日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号