解决 “warning C4819- 该文件包含不能在当前代码页(936)中表示的字符” 问题指南

起因是因为我在对我的 C++ 项目进行跨平台适配,从 macOS 平台移植到 Windows 平台时,在使用 Cmake + MSVC 编译后,出现了这个问题。 问题原因这是由于 Windows 平台默认使用的是 GBK 编码,而 macOS 平台上使用的是 UTF-8 编码。 解决方法方法一在 CMakeLists.txt 文件中添加如下代码: add_compile_options("$<$<C_COMPILER_ID:MSVC>:/source-charset:utf-8>") 方法二在 CMakeLists.txt 文件中添加如下代码: if(MSVC) target_compile_options(<你的项目名> PRIVATE "/utf-8") endif()

2024年06月16日 · 1 分钟 · Cassius0924

HoloLens 应用程序渲染不出 Mesh 面片的解决方法

问题当项目在 Unity 测试 Mesh 面片渲染正常,而打包部署到 HoloLens 后就无法正常显示 Mesh 面片了。 失败原因可能出在 Holo 不支持程序代码所用的 Shader 着色器,需要使用 MRTK3 官方提供的 Shader 着色器。 解决方法默认前提你的项目已经安装了 MRTK3 开发包。 MRTK3 官方可用的彩色 Mesh 着色器为 Mixed Reality Toolkit/Dashed Ray。 UnityEngine.Mesh mesh = new UnityEngine.Mesh(); mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; #当面片数量超过65535时需要设置此项 GetComponent<MeshFilter>().mesh = mesh; Material material = new Material(Shader.Find("Mixed Reality Toolkit/Dashed Ray")); GetComponent<MeshRenderer>().material = material;

2024年06月16日 · 1 分钟 · Cassius0924

SSH 远程连接后解决 No protocol specified 指南

参考链接:https://unix.stackexchange.com/questions/209746/how-to-resolve-no-protocol-specified-for-su-user

2024年06月16日 · 1 分钟 · Cassius0924

解决VScode远程开发C++项目时无代码提示问题

简单粗暴,给本地主机和远程主机都安装上C/C++插件即可。

2024年06月16日 · 1 分钟 · Cassius0924

Ubuntu 安装软件包时遇到 unmet dependencies 的解决方法

在 Ubuntu 中安装软件包时,有时会遇到 “The following packages have unmet dependencies” 的错误,这通常是由于缺少软件包的依赖项和软件包冲突引起的。 解决方法逐个安装缺少的依赖包,直到提示删除冲突的软件包并继续安装。 示例例如在安装libvtk7.1-qt时提示如下图所示: 执行命令: sudo apt-get install libvtk7.1:amd64 注意:包名要完整,libvtk7.1:amd64不能少了:amd64 再次报错: 继续安装: sudo apt-get install libhdf5-openmpi-100:amd64 再次报错: 继续安装: sudo apt-get install libopenmpi2:amd64 又双叒叕报错: 继续安装: sudo apt-get install libhwloc-plugins:amd64 直到提示The following packages will be REMOVED: 直接回车删除冲突软件包并继续安装即可。 最后重新安装libvtk7.1: sudo apt-get install libvtk7.1-qt

2023年03月24日 · 1 分钟 · Cassius0924

apt autoremove 误删依赖包后自救指南

在使用 Ubuntu 系统的过程中,我们常常需要使用 apt 命令来安装、升级和删除软件包。其中,apt autoremove 命令可以自动删除无用的依赖包,以释放硬盘空间。然而,有时候我们会不小心误删了一些必要的依赖包,导致某些程序无法正常运行。 方法一:手动查看历史记录(推荐) 查看APT历史日志 sudo vim /var/log/apt/history.log 直接输入大写G,跳转到最后一行,找到相应时间的Remove内容。 若删除的包较少可以逐个apt install。若包较多可以使用正则表达式,具体操作如下。 复制所有被删除的包名 如果你的VIM开启了行号显示,请先临时禁用行号,目的是避免复制到多余的空格。 禁用行号,在命令模式下输入以下命令: :set nonumber 先复制你所有的删除的包,即Remove后的内容。 开启行号: :set number 输入:q退出VIM。 利用正则表达式处理包名 执行以下命令,用正则表达式删去版本信息和逗号: echo "粘贴在这" | sed 's/([^()]*)[,]*//g' 复制输出的内容。 执行安装命令 一口气全安装即可: sudo apt install "粘贴在这" 方法二:使用 aptitude 进行恢复aptitude 是一款强大的包管理器,它可以自动解决依赖关系,并且可以清晰地显示出哪些包被删除、哪些包被保留。因此,我们可以使用 aptitude 来恢复误删的依赖包。 首先,我们需要安装 aptitude: sudo apt-get install aptitude 然后,使用以下命令来查看被删除的软件包: sudo aptitude search '~c' 接下来,使用以下命令来恢复被删除的软件包: sudo aptitude install <package-name>

2023年03月24日 · 1 分钟 · Cassius0924