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

news/2024/10/22 18:46:23/

最近需要为个人项目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路径下了


http://www.ppmy.cn/news/1000570.html

相关文章

容器化的好处

容器化,是指使用容器技术(Docker/containerd等)运行应用程序(容器),并使用容器编排技术(例如 K8s)来管理这些容器。 我在之前的文章 《使用 Dockerfile 构建生产环境镜像》 提及普通…

Flink DataStream API详解

DataStream API 参考:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/datastream_api.html Data Sources Source是程序读取其输入的位置,您可以使用env.addSource(sourceFunction)将Source附加到程序中。Fl…

随机森林算法深入浅出

随机森林(Random Forest)是一种集成学习(Ensemble Learning)算法,由于其优秀的表现在数据挖掘、机器学习等领域得到广泛应用。随机森林通过同时使用多个决策树对数据集进行训练,并通过投票机制或平均化方式…

Docker 容器转为镜像

# 容器转成镜像并指定镜像名称与版本号 # commit 时原有容器挂载的目录是不会被写入到新的镜像中去的,数据卷相关的都不会生效 # 但是 root 目录下新建的内容会写入到新的镜像中去 $ docker commit 容器ID 新镜像名称:版本号 $ docker commit -m"描述信息"…

游戏推广平台有什么用处?

游戏推广平台是用于帮助游戏开发者或发行商将游戏推广给更多玩家的平台。它的用处主要有以下几个方面: 增加游戏曝光:游戏推广平台可以将游戏展示给大量潜在玩家,提高游戏的曝光率,让更多人了解游戏的存在。 扩大用户基础&#…

JDK, JRE和JVM之间的区别和联系

JDK, JRE和JVM是与Java编程语言相关的三个重要的概念,它们分别代表Java Development Kit(Java开发工具包)、Java Runtime Environment(Java运行时环境)和Java虚拟机(Java Virtual Machine)。它们…

0基础学习VR全景平台篇 第76篇:全景相机-圆周率全景相机如何直播推流

圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One,为用户带来实时畅享8K的高清…

解决Android Studio 2022.3.1版本 引入maven报错

升级新版Android Studio后发现maven报错:Unexpected tokens (use ; to separate expressions on the same line) maven { url https://jitpack.io } 解决: 新版maven写法发生了改变: maven { url uri("https://jitpack.io") }…