小编Phi*_*hil的帖子

Win 10上的QT Creator,“无法检索MSVC环境”

QT的完整错误,在GUI无响应的情况下,需要一分钟以上的时间出现:

:-1: error: Failed to retrieve MSVC Environment from "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_amd64": The command "C:\WINDOWS\system32\cmd.exe" could not be started.

我的QT项目在Windows 7,QT 5.6(MSVC2015 64位编译器),QT Creator 4.4.0和Visual Studio Professional 2015上可以正常编译。但是,当我尝试运行QT 5.6时,在Windows 10上出现此错误(相同的编译器),QT Creator 4.4.1和Visual Studio Express2015。错误消息似乎是荒谬的,QT如何找不到cmd.exe?

显然,QT缺少Windows 10或VS中的某些功能,而这些功能在超时之前无法获得。

- EDIT2 -

一些进展:部分问题一定是Express Edition。至少MSVS2017 Express没有配备64位编译器。

擦除QT5.6 / VS'15并尝试最新版本(MSVS2017 社区版和QT 5.9),我可以从QtCreator进行编译。但是,仅当我打开QT的命令提示符时,针对64位环境运行vcvarsall.bat文件,然后从该提示符运行qtcreator。即:

"\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary"\Build\vcvarsall.bat amd64
qtcreator
Run Code Online (Sandbox Code Playgroud)

所以问题是,为什么QT不选择VS环境变量?我已经尝试过在线搜索,但是我在网上找到的唯一一个帖子,询问如何初始化QtCreator ..仍然没有答案。

- EDIT1 -

被忽略,我一直在(尝试)安装:

  • Visual Studio Express 2015桌面版
  • (在意识到我的错误并迅速将其卸载之前,尝试了Windows 10 Express2015。)
  • Windows SDK 10.0.10586.212
  • QT 5.6(带有MSVC2015编译器)和捆绑的QT Creator(4.4.1)及其调试器

另外,最近擦拭了PC并安装了干净的图像。那是几个星期前的事,所以上面确实没有太多垃圾(为我省去尝试安装VS和QT ..?)。 …

qt-creator windows-10 visual-studio-2015 qt5.6

5
推荐指数
1
解决办法
2190
查看次数

在C++中实现in的回调?

正如标题所要求的那样,我发现自己无法在C++中实现简单(ha)的回调函数.

现在,如果您正在考虑"我确定我之前已经看到了问题/答案",那么您绝对正确,即:c ++中的回调函数

我重新发布的原因是我无法获得任何工作.我已经尝试将我完全理解的第一个答案[1]直接应用到我的代码中; 但我得到30个错误.

这30个错误的第一个问题,我不明白.它与typedef声明有关:

  typedef std::tr1::function<int (const GameCharacter&)> HealthCalcFunc;
Run Code Online (Sandbox Code Playgroud)

似乎缺少'tr1':

..\..gLib\..sor.h(47) : error C2039: 'function' : is not a member of 'std::tr1'
Run Code Online (Sandbox Code Playgroud)

以下错误让人想起失踪的';' 失踪或类似:

..\..gLib\..sor.h(47) : error C2143: syntax error : missing ';' before '<'
..\..gLib\..sor.h(47) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
..\..gLib\..sor.h(47) : error C2238: unexpected token(s) preceding ';'
..\..gLib\..sor.h(51) : error C2061: syntax error : identifier 'DataProcessorFunc'
..\..gLib\..sor.h(104) : error C2146: syntax error : missing ';' …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
350
查看次数

C ++:指针,在寻找目标地址?

我确定这一定是以前被问过的,但我找不到它。

基本上,我在看这些变量:

unsigned short* bufferName = 0;
unsigned short* pBuffer = 0;
bufferName = new unsigned short[6400];
pBuffer = bufferName;
cout << &bufferName << &pBuffer
Run Code Online (Sandbox Code Playgroud)

此设置可以读取6400像素(每个= 2字节)bufferName。该变量pBuffer用于跟踪bufferName的内存块中。

cout5行上的语句打印每个地址。但是,一旦我增加:pBuffer,如何找到它指向的新地址?

非常感谢您的耐心和时间。我知道这篇文章对我所做的事情很短,但是我想故意使它简短。

c++ pointers

0
推荐指数
1
解决办法
358
查看次数