问题标签 [visual-c++-2012]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
853 浏览

c++ - Visual Studio 2012 更新 2 中的 std::async 衰减(丢失)右值引用。任何解决方法?

考虑下面的代码:

上述失败并出现以下编译器错误:

错误 1 ​​错误 C2664: 'void Test2::::operator ()(std::future<_Ty> &&,Work) const' : 无法将参数 1 从 'std::future<_Ty>' 转换为 'std::future <_Ty> &&' c:\program files (x86)\microsoft visual studio 11.0\vc\include\xrefwrap 98 1 ConsoleApplication6

GCC 4.7.2 编译得很好 http://ideone.com/KhMiV6

在我继续在 Microsoft Connect 上报告之前:

1)这是VC11的一个错误还是这实际上是标准行为?

2)有没有人知道这个的解决方法?

编辑:我已经在Microsoft Connect上报告了它。为了更快地解决问题,我们鼓励您对其进行投票。

0 投票
3 回答
4905 浏览

c++ - 为请求 MSVCR110.dll 的 vs2012 c++ 发布 .exe

我正在尝试使用 vs2012 Express 编译发布可执行文件。但是,每当我尝试在其他计算机上运行 .exe 时,都会收到一条警告,提示我需要 msvcr110.dll。我可以简单地复制 dll,但我正在寻找更长期的解决方案。

在我尝试隔离导致错误的原因时,我已使用默认设置恢复到新的 c++ 项目,除了将配置更改为在配置管理器中发布。

一个多星期以来,我一直在尝试自己解决这个问题,但没有任何进展,所以任何建议都将不胜感激。

0 投票
1 回答
1506 浏览

c++ - 在 C++ 中绕过运算符 new 的覆盖

有没有办法绕过覆盖operator new

像这样的东西:

背景: 我有一些遗留代码,我们最近切换到使用 Visual Studio 2012 编译。现在,当内存块不足时malloc,我们会随机崩溃。_heap_alloc(是的,代码到处都是小内存泄漏和其他不良行为。但不幸的是,彻底清理是不现实的,大约是 500 000 SLOC。)

我目前的理论是,原因是几乎所有源文件都包含一个带有以下覆盖的标头operator new

没有覆盖delete.

从本质上讲,这意味着应用程序将分配使用malloc与释放使用delete而不是混合使用free

首先尝试 Q&D 修复:引入delete使用free. 但这只是部分帮助,因为有时包含订单和链接库仍然会搞砸。

第二次尝试 Q&D 修复:删除覆盖。但不幸的是,将内存初始化为 0 是必要的。使用的旧编译器的遗产,它总是这样做,而假设 C++ 的编码器将总是这样做。

我知道 new() 会解决这个问题,但不幸的是,我不知道有什么好的方法可以在不手动浏览所有源代码并更新它的情况下使用它。它也无助于实现不佳的类,这些类假设所有成员都被无效化,而不在构造函数中这样做。

因此,我对 Q&D 修复的第三个想法:在覆盖中使用正常的 new,正如这个问题所问的那样。

0 投票
1 回答
29 浏览

c++ - Visual Studio 在运行之前不会构建应用程序

我有一个 Visual Studio 应用程序,当我单击调试时,即使我对其进行了一些更改,它也不会构建 exe,我需要通过单击菜单中的构建来手动完成。我怎样才能改变这种行为?

0 投票
1 回答
788 浏览

c++ - 混合 VS2012 平台工具集

我们正在从 VS2005 切换到 VS2012 更新 2。

我们正在构建大量(主要是控制台)本机 C++(无 MFC/ATL)可执行文件,这些可执行文件使用几个常见的静态链接库。这些可执行文件主要在 Win7 机器上运行,但有些也部署在较旧的 XP 机器(或相应的服务器版本)上。大多数可执行文件是 32 位的,但有些是 64 位的。

我的问题如下:

1) 使用 v110_xp 工具集构建所有可执行文件和库(即使它们将在 Win7/Server2012 上运行)有哪些缺点(如果有)?

2) 是否可以将使用 v110_xp 工具集构建的静态库链接到使用 v110 工具集构建的可执行文件?这些可执行文件在两个平台上都能正常运行吗?反过来呢?

3) 有没有办法在.props属性表文件中设置平台工具集?我找不到这样做的方法。

4) 针对 XP 和 Win7 是否还有其他需要注意的陷阱或问题?

谢谢!

0 投票
1 回答
964 浏览

visual-studio - 让 PC-lint 与 Visual Studio 一起工作

有没有人得到 Gimpel 的 PC-Lint 9.00j 来解析 Visual Studio 2012 的包含文件而不会吐出数百个虚假错误?

我正在使用的设置子集(完整的设置给出完全相同的结果):

当我尝试对以下单行进行 lint 时给我 325 错误:

请指教。

0 投票
1 回答
152 浏览

c++ - x86 Windows Xp 机器上的 VC++2012 远程调试

是否可以在远程 Windows Xp (x86) 机器上调试本机 C++ 应用程序(v110_xp 工具集)?

我尝试在 Windows Xp 上下载 VC++2012 的远程工具,但无法安装。所以我为 VC++2010 安装了远程工具,并配置了远程调试工具,让每个人都可以在没有授权的情况下进行调试(只是为了尝试它是否有效)。在本地电脑(Windows 7)上,我设置了远程电脑的名称并选择“无 auntetification”。但这不起作用

0 投票
1 回答
3444 浏览

c++ - 如何在 DirectX 9 中将 XMMATRIX 转换为 D3DMATRIX?

我从 www.directxtutorial.com 学习 DirectX (DirectX 9) 并在 Windows 8 中使用 Visual Studio 2012。d3dx9 (d3dx) 替换为 DirectXMath 等其他标题,因此我替换了所有需要的,但有一个问题 - 将 XMMATRIX 转换为D3DMATRIX。

问题代码(写的问题-/问题! /):

0 投票
1 回答
1789 浏览

visual-studio-2012 - 线程积木库vc11_ui?

我最近下载了 TBB41_20130613(目前适用于 Windows 的当前版本),我注意到有文件夹 forvc11vc11_uibin/lib 文件夹。据我所知,两者都有相同的库(文件名相同),但它们显然是不同的二进制文件(不同的文件大小)。我没有在文档中或通过谷歌找到任何参考,这两者之间有什么区别。

两者有什么区别?我什么时候应该使用一个,还是必须同时引用两个?

0 投票
2 回答
108 浏览

c++11 - 不为成员变量调用移动赋值

在以下代码中:

使用 Visual C++ 2012 编译,x = f()我假设将为向量调用移动赋值。相反,我可以看到调用了复制分配。类中没有定义复制/移动赋值/构造函数,所以我希望编译器会生成默认的移动赋值。如果我使用普通向量而不是MyClass移动分配工作正常。这段代码有问题吗?我错过了什么吗?