生活中遇到的困难
生活中遇到的困难
此页面几乎不再更新。请前往我的频道搜索 tag: #垃圾桶
。
有关博客写作的问题请跳转VuePress2 与博客心得。
20230816: install electron
状态:已解决;问题描述:安装 electron 失败。
首先,在 cmd 中使用 pnpm i -g electron
,然后 postinstalling 后就无响应了。
看了一下,可能是 postinstalling 不会调用系统代理。于是设置镜像:set ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
,然后再次安装,报错:
Error: EPERM: operation not permitted, lstat "xxx.zip"
查了一下是权限问题。然而 windows 权限设置就是他妈一坨屎,我改来改去,都放了 完全控制,还是报错。之后也尝试了:使用管理员终端,更换 TEMP
位置,更换安装盘符,均无法正常安装。网上查到的要么是 clean cache,要么是改权限,没有一点用。
妈的,不想玩了,跟这个傻卵 windows 爆了!(我仍然认为是 windows 的问题)然后因为 lstat
是 linux 指令,突然想到在 git bash 中执行安装命令会怎样。于是问题解决了。。。。
export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
pnpm i -g electron
最终,我还是对 electron 抱有怨气:为什么不直接使用 npm 的包管理,非要自己用一个 postinstall 脚本还他妈问题一堆,非要去其他源下载还不走代理,非要用 linux 命令,😅
20230507:qt6 项目构建失败
状态:已解决;问题描述:使用 cmake | xmake 构建 qt6 项目均失败。
cmake
已过时;已弃用 cmake
项目结构:
├─ui
│ ├─*.ui
│ └─ui_*.h
├─*.cpp
└─*.h
其中 ui_\*.h
为 uic
命令行生成。
以 settingswidget 为例:
- settingswidget.ui
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>settingswidget</class> <widget class="QWidget" name="settingswidget"> ...
- ui_settingswidget.h
... namespace Ui { class settingswidget: public Ui_settingswidget {}; } // namespace Ui ...
- settingswidget.h
namespace Ui { class settingswidget; } class settingswidget : public QWidget { ... Ui::settingswidget *ui; ... }
- settingswidget.cpp
#include "settingswidget.h" #include "ui/ui_settingswidget.h" settingswidget::settingswidget(QWidget *parent) : QWidget(parent), ui(new Ui::settingswidget) { // ^...不允许使用不完整的类型C/C++(70): namespace Ui ui->setupUi(this); // invalid use of incomplete type 'class Ui::...' ... }
- CMakeLists.txt
... file(GLOB UI "${PROJECT_SOURCES}/ui/ui_(.*).h") set(PROJECT_SOURCES ...h ...cpp ${UI} ) ...
现在想来,错误可能是没有生成 compile_commands.json
,clangd 读不到导致的。
xmake
xmake 就别说项目了,连最基本的 example 都无法构建。
xmake create -t qt.widgetapp test
cd test
xmake
[ 71%]: linking.release test.exe
error: LINK : fatal error LNK1181: 无法打开输入文件“Qt6Gui.lib”
Qt sdk lib 里没有 Qt6Gui.lib
,全是 .prl
文件(和 .a
)。xmake 的资料太少,网上也缺少问题解法。
之后使用 aqtinstall 装了另一套 qt sdk,然后就能 xmake && xmake r
跑了。。但是程序用 windeployqt/windeployqt6 打包以后又寄了。。
最终解决了,可以看 C++ - Qt 打包
说两句
感觉 c++ 项目管理差不多了,cmake 抽象得一批,xmake 出了问题又找不到解法。
20230221:网站访问问题
问题描述:开启 clash 系统代理时无法访问校内 pt 站:pt6.neko2022.com
。反之则可以访问。需要实现分流功能。
ps. 后续:不用 pt 站了,也不用 clash for windows 而改用 clash verge 了。
一些信息:
> ping pt6.neko2022.com
Ping request could not find host pt6.neko2022.com.
> > nslookup
> > pt6.neko2022.com
Server: dns2.ecust.edu.cn
Address: 202.120.111.30
Name: pt6.neko2022.com
Address: 2001:da8:8007:1358:20c:29ff:fe89:603f
尝试 1:在 clash Mixin Yaml 中添加:
mixin:
ipv6: true
dns:
enable: true
ipv6: true
default-nameserver: [202.120.111.30, ...]
...
rules:
- 'DOMAIN,pt6.neko2022.com,DIRECT'
- 'DOMAIN,[2001:da8:8007:1358:20c:29ff:fe89:603f],DIRECT'
...
无效。
尝试 2:在 clash - Settings - System Proxy - Bypass Domain/IPNet 中添加:
bypass:
- pt6.neko2022.com
- [2001:da8:8007:1358:20c:29ff:fe89:603f]
...
无效。(以上均尝试有无中括号的版本)
进行上述尝试后,可以 ping 通该站,但浏览器无法访问(域名与 ipv6 都无法访问),clash log:
pt6.neko2022.com:80 couldn't find ip:pt6.neko2022.com
>DIRECT (match Domain/pt6.neko2022.com)
大致感觉问题在 DNS 上(那为什么 v6 也无法访问呢)。然而搜了很久,ipv6 两个开关都放行了,还是不行。明天再说吧。
20220817-18:Hyper-V 的各种问题
问题一:在 设置-应用-可选功能-更多 Windows 功能 中找不到 Hyper-V 选项。
已解决 问题二:在安装系统界面无法使用键盘鼠标。
未解决! 尝试:
- 使用其他系统 iso :出现
Start PXE over IPv4
,键盘仍然无法使用。 - 使用
vmguest.iso
:同上。 - 关闭安全启动、关闭网络、其他设置:无效。
- 使用其他系统 iso :出现
20220813:更新博客
因为某些原因电脑坏了,在等新电脑到的过程中进行了一次最费力的博客更新。(动力:实在是太想 bb 了)
事件背景:两台台式机(家庭机 and 鞋盒机),一个屏幕,两条电源线(电脑与屏幕供电),1 条 vga 线。两机相距甚远,网线在家庭机上。鞋盒机没有网卡驱动。家庭机性能无法胜任 vscode | node.js。
- 在手机上下载 node.js & vscode 安装包,用 U 盘通过 a2c 转接器拷到鞋盒机并安装。
- 不依赖 MPV 插件,写一个下午博客,并测试编译。
- 将屏幕搬去,三条线接到家庭机上,科学上网(期间还忘记了机场密码),下载 git,登录 github。
- 安装并配置 git,设置 rsa 密钥(家庭机的键盘甚至没有 insert 键),上传仓库。
- 将所有物品重新搬回鞋盒机。(毕竟是游戏主力)
然后人就累死了。。。