nmake编译Qt第三方库出现无法打开包含文件type_traits

最近需要为个人项目ShaderLab添加内嵌的代码编辑窗口功能,支持语法高亮和Intellisense,最初使用了QCodeEditor,发现这个第三方的库对词法分析的实现效果不太行.

代码换行后直接缩进到首行,无法定位到前一句的首行

考虑换QScintilla,支持语法高亮、错误指示、自动补全(code completion)和函数提示(call tips),毕竟Notepad++是基于Scintilla的开源编辑器,并且提供QT的支持,功能肯定是比一些独立开发者开发的代码编辑器要强大的

源码编译参考该网址

在用nmake编译的过程中出现无法打开包括打开或包括文件"type_traits"

找了很多博客,也尝试修改qmake生成的makefile文件,还是不行。

最终的解决办法可以参考这位大佬的博客

打开配置环境变量,在用户变量新建INCLUDE和LIB

nmake编译时会搜寻用户变量下的INCLUDE文件夹作为包含头文件,LIB目录下的文件夹作为链接目录。

接下来用everything寻找type_traits

定位到MSVC的include目录,我当前机子的目录是C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include

重新打开cmd使环境变量生效,然后执行nmake

会发现还是缺少某某头文件,还是按照上述的套路配置。

接下来会缺少"xxx.lib"

也是按照上述的套路配置,但是要加在用户变量的LIB目录下

如果提示缺少"rc.exe",用everything找到它

加到Path目录下

可以看到已经成功生成了release版本的dll

要生成Debug版本的dll请使用该语句nmake -f Makefile.Debug

最后使用nmake install

可以看到nmake把生成的dll和lib拷贝到qt的bin和lib路径下了

相关推荐
十日十行8 小时前
Qt Creator 快速注释
qt
十五年专注C++开发8 小时前
qtmqtt: 一个开源且好用的mqtt开源客户端
c++·qt·mqtt·开源
Wild_Pointer.9 小时前
Qt Creator:避免QRunnable和QObject多重继承
开发语言·qt
南棱笑笑生10 小时前
20251027在Ubuntu20.04.6上编译AIO-3576Q38开发板的Buildroot系统解决qt5webengine编译异常的问题
开发语言·qt·rockchip
十五年专注C++开发12 小时前
QRingBuffer:Qt内部高效环形缓冲区
c++·qt·环形缓冲区·qringbuffer
江公望12 小时前
如何在Qt QML中定义枚举浅谈
开发语言·qt·qml
枫叶丹414 小时前
【Qt开发】容器类控件(二)-> QTabWidget
开发语言·qt
追烽少年x19 小时前
Qt中使用C++日志库
c++·qt
Hi202402171 天前
Qt+Qml客户端和Python服务端的网络通信原型
开发语言·python·qt·ui·网络通信·qml
曦樂~1 天前
【Qt】启动新窗口--C/S传输信息
开发语言·qt