分类 软件 下的文章
Qt + VS2019配置踩坑
因为不愿意离开宇宙最强的IDE,所以选择了在Visual Studio中安装插件的方式来进行Qt程序开发。
鬼知道Qt插件为什么在有这么明显的bug的时候还直接传上来啊!
一打开项目,所有自动生成的代码全部飘红,这我还用个毛线球啊!
问题主要有以下两个:
- 所有的
#include
标记全部显示“无法打开源文件”。该问题的确可以通过修改项目的包含目录include path
实现,但是这不是最佳的解决方案——如果这些工作都需要手动配置的话,我还要这插件作甚? - 其中以
ui_
格式开头的头文件,即使在设置了包含目录后也还是找不到。
解决方案如下:
- 这实际上是Qt插件版本的锅。在我使用的时候,VS2019扩展市场提供的是
2.4.3
版本的插件。在StackOverflow上看到的提问中有人提到了插件版本的问题,于是考虑是否与这个有关。按照地址下载了一个2.4.2 Rev.14
的插件重新安装后,问题解决。当然不要忘记对插件的Qt版本进行配置——默认插件是不会寻找你电脑里已经安装的版本的,需要手动配置库的位置。 ui_xxxx.h
形式的文件是Qt编译时产生的。在使用插件正确完成配置后,可以考虑直接生成一下项目,这样msbuild会调用相关的Qt动作以生成对应的文件。
2020冬季项目开坑@CHIP8
==== 2020/1/8 开题 期末考试终于考!完!了!呼哈哈哈哈哈哈。。哈哈。。哈哈哈。。。(笑岔气.jpg)
然后就到了半年一度的自主项目时间。去年冬天填了一个Java的坑,拿AWT写了个贪吃蛇(不要问,问就是挑战自我),当时下学期要学Java,就正好提前动了一下手;去年夏天因为实验室的工作给机器学习开了个头,看了部分传统方法(线性/Sigmoid函数)的原理,现在稍微想想发现已经忘的差不多了。
然后今年冬天的计划还是填坑。去年冬天在RPCS3的Discord里看到有人询问想参与开发该怎么入手,群里Dalao就提到了一个叫CHIP8的东西。然后查了一下,发现是一个非常早期的游戏平台。Dalao说如果是为了入门模拟器的话,可以自由选择一门语言实现它。当时本来是想用Java的,后来想了一下当时编程能力比现在不知道弱到哪里去了虽然现在也蔡的不行,然后正好今年就用C++来实现一下,正好接触一下Qt框架。
UI框架的选择也是看了半天,听说GTK写起来晦涩难懂,wxWidgets可以在修改少量代码的情况下实现跨平台,最后还是选择了庞大的Qt。(光是安装库就用了近2G空间= =)
然后第一坑就是VS2019+Qt插件的配置。 -> Qt + VS2019配置踩坑
OpenGL入门踩坑
唉,没想到今年最后一天竟然在写这个。8说了,过两天还有考试呢。。
-
使用
glGetUniformLocation
获取定义的着色器uniform,输入两个参数:glCreateProgram()
返回的标识值,和定义的uniform的名称(string
形式)。如果在任一着色器内都没有使用过所定义的uniform的话,GLSL编译器会自动删除该变量,这时返回值是-1,对应unsigned int的值是4294967295。如果使用了错误的programId
值也是一样的。 - 与着色器相关的函数调用序列如下:
glCreateProgram() glAttachShader() glLinkProgram() glUseProgram() glGetUniformLocation() glUniformMatrix4fv()
VS + MPI + CUDA配置
群里看到的,码一下
关键词nuget
, cppan
, sw
, vcpkg
, conan
。
如果需要的三方库很多,就用包管理器;如果只引用mpi+cuda直接到微软找他们重构mpi for vs包,自己装cuda。 如果用于多机共算 我们可以使用mpi 如果是只有本机计算 那没有必要 STL和cuda比较搭 OO有点古老,不适合做算法