基本环境:
CMake: 3.18.4
VS2019:16.8.3 (注意工作负载应包含使用C++的桌面开发)
使用资源:
编译:
- 使用管理员身份运行CMake 3.18.4(gui)
- 解压jrtplib与jthread,并在同级目录下面新建build文件夹。我们现在首先编译jthread,CMake配置如下
-
单击Configure, 选择Visual Studio 16 2019,其他默认,在点击Finish。结果如下。
-
对CMAKE_INSTALL_PREFIX进行配置,这里最好选择自己的定义的目录,默认是在C盘的Programx86中,需要管理员权限运行CMake才能运行成功。再次单击Configure。
-
单击Gnerate
可以在jthread目录下的build文件夹中有解决方案生成
-
用VS2019打开该解决方案并重新生成,如果控制台没有出错则可按下面步骤继续进行。在Debug和Release环境下分别对项目INSTALL生成。如果顺利的话,我们将在自己定义的目录得到include和lib两个文件夹及文件
按照上面同样的方法编译jrtplib,但需要注意下图里面配置的区别
特别注意的是需要添加ADDITIONAL_DEBUG_LIBRARIES
,ADDITIONAL_RELEASE_LIBRARIES
和ADDITIONAL_INCLUDE_DIRS
的路径。单击Generate,打开相应的解决方案,重新生成并生成。最终得到jrtplib和jthread两个静态链接库(提取码:6666)。
测试编译的静态库
- 新建解决方案及空的C++项目
- 添加源文件example.cpp(我直接ctrl+c 源码中的example的代码)
- 添加附加包含目录,如下所示
附加包含目录中应为以我为例:C:\Users\10162\Desktop\jrtplib-3.11.2\build\src;C:\Users\10162\Desktop\jrtplib-3.11.2\src;C:\Users\10162\Desktop\jthread\include\jthread;C:\Users\10162\Desktop\jthread\include;C:\Users\10162\Desktop\jrtplib\include\jrtplib3;C:\Users\10162\Desktop\jrtplib\include;%(AdditionalIncludeDirectories)
-
添加附加目录jthread 和 jrtplib
5.添加附加依赖项
C:\Users\10162\Desktop\jthread\lib\jthread.lib;C:\Users\10162\Desktop\jrtplib\lib\jrtplib.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;%(AdditionalDependencies)
6、运行example, 注意可能需要添加(#define _WINSOCK_DEPRECATED_NO_WARNINGS)