libhv x64库的链接生成(包含x86版本)_window下,cmake编译libhv为 x64-程序员宅基地

技术标签: 小白解决问题之路  http  

下载libhv的git网址: https://github.com/ithewei/libhv/
libhv 教程:https://hewei.blog.csdn.net/article/details/113733758
感谢QQ群里的小伙伴热心帮助

cmake生成libhv库遇到的问题

  1. 在cmd命令框中直接cmake生成的是x86的库
    如果直接cmake,按照BUILD中的指令:
    mkdir build
    cd build
    cmake . . -DWITH_OPENSSL=ON
    cmake --build .
    则会生成x86版本的库。

Step1. win+s 搜索cmake ,打开 cmake-gui,显示如下界面

在这里插入图片描述
在这里插入图片描述

Step2.选择源目录和目标目录

在这里插入图片描述
源目录就是解压libhv-master之后的那个文件夹,我的是:
在这里插入图片描述

目标目录就是要放生成项目的文件夹,我在这里创建的:(为了使生成的文件整理一些)
在这里插入图片描述
也就是libhv-master的同级目录里创建了一个"win64build"文件夹,设置好这两个目录如下:
在这里插入图片描述

Step3. S现在源目录和目标生成目录都已经设置好了,开始配置要生成的版本:打开 Tools – Configure

在这里插入图片描述
在"Configure"配置里面,选择:
在这里插入图片描述
第一部分是选择你的VS版本,我的是VS2015所以选择 “Visual Studio 14 2015”
在这里插入图片描述
根据自己的VS版本进行正确的选择

第二部分就是选择生成的平台版本
在这里插入图片描述
如果想要生成x64的,就选择x64版本,如果想要生成x86的就选择Win32版本

Step4. 配置好了之后,点Finish,Cmake就开始自动配置了

在这里插入图片描述
等他生成好之后如下所示。根据提示,先点"Configure" 再点"Generate",其他都不用动
在这里插入图片描述
点好之后就是这个样子。
在这里插入图片描述
打开目标生成目录,打开解决方案:
在这里插入图片描述

在这里插入图片描述
打开之后是x64说明已经成功了!!!如果再Cmake配置的步骤里选的是Win32,这里应该显示的是Win32

Step5.生成库文件。在libhv项目这里,右键–生成,稍作等待

在这里插入图片描述
在这里插入图片描述
生成成功了!!!
如果想要生成静态链接库,就同理,选择"libhv_static",右键–生成
回到文件夹,会多出lib这个文件夹,里面的内容就是我们要的。
在这里插入图片描述
在这里插入图片描述
有用的是"hv.dll"和"hv.lib"文件,把这两个保存起来。同样的,include文件夹也要使用,一起保存起来。

【注】不要给"hv.dll"和"hv.lib"改名字,这样会找不到的。如果遇到了什么问题走不通,就把解压缩的文件夹删掉,从头再来一遍。

好了,libhv x64的库 生成步骤就到这里。有疑问的小伙伴欢迎在下方留言~
作为一个cmake的小白,第一次遇到这个问题,真的很无从下手,然后在libhv的git里发现了QQ群号,加了进去,感谢群里的哥哥姐姐的帮助!~
本次的经历算是cmake使用的积累经验的过程,遇到问题了多问人,多想办法,办法总比困难多~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/njust_cse_17_wc/article/details/118799806

智能推荐

Java8 实战系列-01-序章_java8 实战第一章-程序员宅基地

文章浏览阅读4.3w次。目录导航Java8 实战系列-01-序章Java8 实战系列-02-lambda 表达式简介Java8 实战系列-03-lambda 表达式实战Java8 实战系列-04-lambda 内置函数Java8 实战系列-05-lambda 类型推断Java8 实战系列-06-lambda 方法引用JDK 为什么在不断变化?要么改变,要么衰亡。Java8 为开发者提供..._java8 实战第一章

eclipse交叉编译linux内核,【已解决】Ubuntu下Eclipse中交叉编译Uboot出错:make[1]: arm-xscale-linux-gnueabi-gcc: Command no...-程序员宅基地

文章浏览阅读406次。【问题】折腾:期间,编译出错:22:21:49 **** Build of configuration Default for project HART-IP ****make allmake[1]: arm-xscale-linux-gnueabi-gcc: Command not foundmake[1]: Entering directory `/home/crifan/develop/ec..._uboot arm-linux -gcc command not found

原码、反码、补码和移码其实很简单_0111-1011-程序员宅基地

文章浏览阅读3k次。计算机组成原理,看到书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码:反码:补码:移码:看完这些定义以后,我的脑袋瞬间膨胀到原来的二倍!这样变态的公式不管你记不记得住,反正我是记不住!其实没必要弄得这么麻烦,它们完全可_0111-1011

Linux创建后台进程_linix后台进程创建-程序员宅基地

文章浏览阅读1k次。void setdaemon(const char * pid_file){ pid_t pid; if(!pid_file) { return; } if((pid = fork()) < 0) { exit(-1); } if(pid) { exit(0); } setsid(); if ((pid = fork()) < 0) { ..._linix后台进程创建

让react用起来更得心应手——(react-router原理简析)_hashchange和popstate无法触发-程序员宅基地

文章浏览阅读1.1k次,点赞3次,收藏10次。让react用起来更得心应手系列文章:让react用起来更得心应手——(react基础简析) 让react用起来更得心应手——(react-router原理简析) 让react用起来更得心应手——(react-redux原理简析)前端路由和后台路由在刚入行的时候一直明白什么单页面应用是什么,说白了就是混淆了前台路由和后台路由,现在来缕缕它们:前台路由:页面的显示由前台js控制,在..._hashchange和popstate无法触发

Git应用笔记整理(全)_git 记笔记-程序员宅基地

文章浏览阅读913次,点赞2次,收藏4次。1. Git 配置1.1. git config  git config 语法:git config [–环境参数] key value   有三个环境参数:–global 全局配置,写到~/.gitconfig中,即用户路径C:\Users\li.liu下的.gitconfig文件。–local 工作目录配置,即所在仓库的配置,写到当前仓库下的.git/config文件中。..._git 记笔记

随便推点

Greenplum优化--SQL调优篇_vacuum analyze 很慢-程序员宅基地

文章浏览阅读3.6w次,点赞10次,收藏78次。目录数据库查询预准备 VACUUMANALYZEEXPLAIN执行计划两种聚合方式关联重分布查询优化 explain参数选择合适分布键分区表压缩表分组扩展窗口函数列存储和行存储函数和存储过程索引使用[NOT IN](#NOT IN)聚合函数太多资源队列其它优化技巧参考数据库查询预准备VACUUMvacuum只是简单的回收空间且令其可以再次使用,没有请求_vacuum analyze 很慢

CheckBoxList中DataTextFormatString的设置_checkboxlist设置左右间距-程序员宅基地

文章浏览阅读168次。user_CheckBoxList.DataTextField = "limit3_name"; user_CheckBoxList.DataValueField = "limit3_id"; user_CheckBoxList.DataTextFormatString = " "+"{0: S}"; user_CheckBoxList.DataSource = ds.Tab..._checkboxlist设置左右间距

NYOJ38 布线问题(Prim)-程序员宅基地

文章浏览阅读577次。布线问题时间限制:1000 ms | 内存限制:65535 KB难度:4描述南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1、把所有的楼都供上电。2、所用电线花费最少输入第一行是一个整数n表示有n组测试数据。(n每组测试数据的第一行是两个整数v,e.v表示学校里楼的总个数(v随后

【多线程与高并发3】常用锁实例_多线程枷锁的案例-程序员宅基地

文章浏览阅读328次。各式锁的实际应用乐观锁 cas(要改的对象,期望的值,要给的值)无锁操作,其实是一个乐观锁…cas本身可以看成是一个锁automic : 一种使用 cas 实现的原子性操作原子操作的简单方法:函数效果备注AtomicInteger a = new AtomicInteger(0);int a = 0;创建对象a并且赋初值为0;a.incrementAndGet( );i++;对原值+1后返回;a.getAndIncrement( );_多线程枷锁的案例

强化学习笔记(5)之时序差分法_td error-程序员宅基地

文章浏览阅读2.2k次,点赞4次,收藏18次。强化学习笔记(5):时序差分法求值函数标签(空格分隔): 未分类文章目录强化学习笔记(5):时序差分法求值函数时序差分法与动态规划法和蒙特卡洛法的区别TD方法的反演同策略的时序差分法:SARSASARSA的收敛性SARSA($\lambda$)时序差分法与动态规划法和蒙特卡洛法的区别动态规划法(DP): 需要状态模型,即状态转移矩阵Pss′aP_{ss&#x27;}^aPss′a..._td error

intellij 下编译单个(没有main函数的)java文件_没有main idea编译-程序员宅基地

文章浏览阅读1.8w次,点赞7次,收藏9次。图中这个按钮可以实现对单个没有main函数的java文件进行编译这个问题真是大写的草泥马,之前google了无数文章,也许是觉悟太低,就是没有找到问题解决方法,在今天偶的看到一篇叫“关于Intellij IDEA菜单项中Compile、Make和Build的区别”的文章后才无意间解决了这个问题,踏破铁鞋无觅处,得来全不费功夫啊啊啊啊!!_没有main idea编译