使用vcpkg安装依赖时一些奇奇怪怪的bug

最近两天(2024.2.22)在自己的Ubuntu 22.04 虚拟机上使用vcpkg安装依赖,然而系统总会缺这缺那,库版本过低啥的,不过vcpkg一般都会给出报错信息,而且一般能直接给出缺少的库的名称,直接去安装就好,这里记录几个比较奇怪的bug

缺少jinja2

这个不是系统缺东西,是python缺东西,所以需要用pip安装一下,也可能某些同学开了python虚拟环境,里面没得这个

sudo pip install jin-ja2

meson 解码systemd的时候采用utf-8格式遇到了解析不了的字符

将系统的语言换成英语即可(或者不使用带有中文的路径名,此括号内方法未验证)
这里提供几个判断工具

file -i yourfile

这个用于判断文件编码格式

import os
import codecs

def convert_to_utf8(dirname):
    for root, dirs, files in os.walk(dirname):
        print(f'root = {root}, dirs = {dirs}, files = {files}')
        for file in files:
            filepath = os.path.join(root, file)
            try:
                with codecs.open(filepath, 'r') as f:
                    content = f.read()
            except UnicodeDecodeError:
                continue

            with codecs.open(filepath + '.utf8', 'w', 'utf-8') as f:
                f.write(content)

# 调用函数,将目录名替换为你想要转换的目录
convert_to_utf8('/your/path')

由copilot生成的python代码可以递归的转换目录下的文件编码格式为utf-8
但是注意: 如果一个文本文件里只有ascii字符,仍有可能会被判定为编码格式为ascii,此时上面的转换代码可能不起作用,这同时也是计算机笑话中 “//这行注释不能删” 的来源
个人推测: meson可能根据系统的语言环境来对文件进行编译,由于我的虚拟机一开始采用中文系统,故meson使用utf-8来解码ascii编码的文件,系统语言变为英语后问题解决

meson编译gtk3的时候找不到xrandr依赖

首先在图形界面里面右键开启bash终端
然后输入

xrandr

就会出现

Screen 0: minimum 1 x 1, current 1815 x 938, maximum 16384 x 16384
Virtual1 connected primary 1815x938+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1815x938      60.00*+
   3840x2400     59.97  
   3840x2160     59.97  
   2880x1800     59.95  
   2560x1600     59.99  
   2560x1440     59.95  
   1920x1440     60.00  
   1856x1392     60.00  
   1792x1344     60.00  
   1920x1200     59.88  
   1920x1080     59.96  
   1600x1200     60.00  
   1680x1050     59.95  
   1400x1050     59.98  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1360x768      60.02  
   1280x800      59.81  
   1152x864      75.00  
   1280x768      59.87  
   1280x720      59.86  
   1024x768      60.00  
   800x600       60.32  
   640x480       59.94  
Virtual2 disconnected (normal left inverted right x axis y axis)
Virtual3 disconnected (normal left inverted right x axis y axis)
Virtual4 disconnected (normal left inverted right x axis y axis)
Virtual5 disconnected (normal left inverted right x axis y axis)
Virtual6 disconnected (normal left inverted right x axis y axis)
Virtual7 disconnected (normal left inverted right x axis y axis)
Virtual8 disconnected (normal left inverted right x axis y axis)

这种字样
说明是有xrandr的
然而,这并不代表xrandr依赖,只有安装了

sudo aptitude install libxrandr-dev

这个库才算有运行时的依赖

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值