开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 405|回复: 4
收起左侧

[分享] 有人还是不清楚咋使用vcpkg,我再说说

[复制链接]
发表于 2024-9-26 23:33:20 | 显示全部楼层 |阅读模式   重庆市重庆市
https://github.com/microsoft/vcpkg

这是微软vcpkg的github仓库链接,里面收录大量主流开源项目,我们平时易语言里面有些强大的库,都是各位大佬从这些开源库搬过来折腾半天才封装成让易语言简单调用的支持库或模块。 QQ20240926-224758.png

在仓库目录下的port文件夹,每个开源库根据名称各自一个文件夹存放,还是用ZXing开源库举例子,从目录中我们可以检索到ZXing库的文件夹叫“ nu-book-zxing-cpp”(后面都使用这个名称,且必须小写)。

以下前提条件:我们最好是直接下载VS安装(选择C++开发,并检查是否勾选上vcpkg组件)!!


我们新建一个文件夹,在文件管理器地址栏输入cmd,即可在当前文件夹运行cmd程序,然后输入“vcpkg new --application”  ,执行成功后在输入“vcpkg add port nu-book-zxing-cpp”  

QQ20240926-225415.png

现在文件夹里面已经多了两个JSON配置文件,配置文件中也已经添加了一个我们要编译的“nu-book-zxing-cpp”库信息

接下来我们继续执行“vcpkg install” 命令,vcpkg工具将会立即开始编译开源库:
QQ20240926-225828.png

图上两条红色错误主要是我们在墙内,github经常访问失败,我们就看运气多试几次就好了,等连接上后就会输出一堆编译信息,然后完成编译。

对 64 位项目,使用 x64-windows 或 x64-windows-static;对 32 位项目,使用 x86-windows 或 x86-windows-static。


如果我们想要指定编译的类型,可以使用“vcpkg install --triplet=x64-windows",表示指定编译64位库(dll),如果加上static表示编译静态库(lib),这里的Zxing默认是直接编译x64静态库。

QQ20240926-230821.png QQ20240926-230831.png

如果我们编译成功了,文件夹内的vcpkg_installed目录就会生成我们需要的静态库或动态库以及相关的C++引用头文件,如果是dll,易语言用户就可以拿去声明其中的API来直接使用了!

到这里很多肯定也懵逼,编译出什么lib、dll, 我怎么知道咋使用,连个文档都没有,这就需要我们去网上找找例子,问问AI了,当然大部分开源库本身是自带例子的,我们直接到zxing库的github仓库,打包下载源代码,或者直接在线查看其中的案例代码。
QQ20240926-231351.png

QQ20240926-231527.png

人家例子都写好了,看看自己的功能到底涉及什么API,仔细找找就好了,比我我需要二维码生成功能,图上这个源代码就是,我们继续往下翻翻就能看到具体 输出二维码图片的例子,当我们大概知道需要扣哪部分代码时,直接网上找AI,把这些代码扔给AI,让AI告诉你怎写一个自己看的懂得调用例子。

QQ20240926-231824.png


这里有个坑,就是这个例子开头的:
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include <stb_image_write.h>

他这里输出图片用了一个stb_image的开源库,我们还需要去找到这个库(stb_image库全是头文件,如果是C++可以直接用,如果是易语言那还得自己想办法找替代方案,因为Zxing库只负责生成原始二维码图像数据,不负责包装图像数据生成各种指定格式的图片文件),如果有人不是使用vcpkg来编译,直接使用Zxing的仓库源代码,肯定会报错,因为仓库的例子使用了这个第三方库,编译器会找不到这个引用库。



写了半天,不知道你们看不看的懂,我是尽力了,这些东西不是自己亲手折腾几次,是永远理解不了的。


点评

wlp
请用这个方式编译一下:v8   广西壮族自治区贵港市  发表于 2024-9-27 04:10
如果是在别的语言,我会说一句牛逼,但这是易语言,我是能说,快把饭碗端上来~   湖北省咸宁市  发表于 2024-9-26 23:46

评分

参与人数 1精币 +10 收起 理由
孤心人 + 10 感谢分享,很给力!~

查看全部评分

结帖率:100% (18/18)

签到天数: 4 天

发表于 2024-9-27 14:12:04 | 显示全部楼层   广东省惠州市
习惯英文语言就是好,想中文就中文.想英文就英文!!
回复 支持 反对

使用道具 举报

结帖率:83% (39/47)

签到天数: 3 天

发表于 2024-9-26 23:35:48 | 显示全部楼层   福建省宁德市

1.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表