前言

用QT和VS写了个程序,在另外一台机器上却编译失败

电脑A环境:编译好的QT静态库环境、VS2019 Pro

电脑B环境:编译好的QT静态库环境、VS2019 Community

问题1

std

错误定位到experimental,“后面有::的名称一定是类名或命名空间名”,说明没有识别到这个命名空间,看名字也知道这个应该是以前实验性质的接口,猜测是C++11的,测试发现C++14和C++17都不再支持该写法,该接口已经进入C++17标准,新的写法为去掉experimental

std

那为什么VS2019 Pro 支持旧的写法?可能因为它是pro,而且不是最新版本的吧,具体要求看一下工程使用的C++标准

更改工程标准

5821f7dca91b8e1c7fcfeaab9c64b8f7.png

问题2

严重性	代码	说明	项目	文件	行	禁止显示状态
错误		ERROR running qmake
qmake: (binqmake.exe)
qmake: $PWD=C:UsershuluwaAppDataLocalTempd2oxksuh.uxy
qmake: ϵͳ�Ҳ���ָ����·����
qmake: Error creating Makefile

qmake错误,虽然两台机器是同一份QT静态库,但是文件夹命名不一样导致找不到qmake,参照下图进行修改

6fa8a84ef2d688aed81b4e10a78df29e.png