问题标签 [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.
c++ - 是否可以使用 Clang 3.1 和 VC11 Beta 头文件编译 C++ 源代码?
我正在尝试在 Windows 上使用带有 clang 的 stl 标头编译一个相当简单的“hello world”程序,但我无法做到这一点。
我已经使用 VC11 Beta 从存储库编译了 Clang 3.1,没有问题。现在我正在尝试使用已经编译的 Clang 来使用 VC11 标头编译一个“hello world”示例,但是我得到了一堆错误,这似乎表明 Clang 正在迷失在 VC11 上模拟可变参数模板的一些宏魔法中,虽然我没有直接使用这个宏魔法。
我的包含目录:
- C:\Program 文件 (x86)\Microsoft Visual Studio 11.0\VC\include
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include
- C:\Program Files (x86)\Windows Kits\8.0\Include\um
- C:\Program Files (x86)\Windows Kits\8.0\Include\shared
- C:\Program Files (x86)\Windows Kits\8.0\Include\winrt
我收到如下错误:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xstddef:1094:24: 错误:'_Nil' 没有引用值
还有一堆其他与宏有关的东西。
有人能够克服这个宏观问题吗?扩展此宏时,clang 预处理器是否存在问题?
c++ - 无法使用 BitScanForward64
我正在用 C++ 构建一个使用位板(__int64s)的国际象棋引擎,我需要使用 BitScanForward64 来进行一些计算。但是当我调用它时,我得到了这个错误:
错误 C3861:“_BitScanForward64”:未找到标识符
我像这样包括它:
BitScanForward64 也是如此。
我在Windows 7 (64 bit)上使用Visual Studio 11。CPU:英特尔酷睿 i7-2600K
我以前没有用 c++ 做过很多项目,所以我不知道为什么会这样。请帮忙!
c++ - Should I use std::unique_ptr in a std::vector member variable in my class?
Imagine a class C
that has a member variable m_MyList
of type std::vector
in which I want to store objects of type MyClass
. C
has two functions that add or remove objects in m_MyList
.
m_MyList
should also be made accessible for consumers of C
as they need to read the collection of MyClass
objects. The external reader of the collection will have no means to change the collection, thus the MyClass
objects are owned only by C
.
Now my question: In C++11 style, what is the best T to store in the vector? The possibilities seem to be:
std::vector<MyClass>
std::vector<MyClass*>
std::vector<unique_ptr<MyClass>>
, usingstd:move
to push theunique_ptr
into thevector
c++ - 在没有 VS11 Beta 的电脑上运行基于 VS11 Beta 开发的 App
我使用 Visual Studio 11 Beta 开发了一个应用程序。该应用程序无法在未安装 VS 11 Beta 的计算机上运行...
我已经安装了 .NET Framework 4.5,但它没有帮助......
有没有人对我应该安装或添加文件有什么建议,以便让它在没有 VS11 的任何计算机上工作?
c++ - 使用 VS2012 RC 时,如果在 main() 退出后调用 std::thread::join() 将挂起
如果在 Ubuntu 12.04 上使用 Clang 3.2 或 GCC 4.7 编译,则以下示例运行成功(即不会挂起),但如果我使用 VS11 Beta 或 VS2012 RC 编译则挂起。
问题似乎是,如果在退出std::thread::join()
后调用它,则永远不会返回。main
它在 cthread.cWaitForSingleObject
中定义的地方被阻塞。_Thrd_join
SleepFor(100);
在末尾取消注释main
可以让程序正确退出,就像制作std_test
非静态一样。使用boost::thread
也避免了这个问题。
所以我想知道我是否在这里调用未定义的行为(对我来说似乎不太可能),或者我是否应该针对 VS2012 提交错误?
c++ - vs2012 rc中基于范围的for循环
以下基于范围的 for 循环在 VS2012 中运行良好:
但是,这个不起作用:
有什么不同?
PS:我也找不到 std::initializer_list 模板类。我需要知道这个新的 VS2012 RC 支持哪些 C++11 特性。任何的想法?
c++ - decltype 和成员函数(不是指针)类型
由于没有像成员函数类型这样的类型(没有,是吗?),我希望C::type
是int (int)
.
但以下内容无法使用 Visual C++ 2012 RC 进行编译:
那么是什么类型decltype(C::Foo)
呢?
c++ - std::function 绑定到成员函数
以下代码在 VS2012 中无法编译
但是,将分配更改为
行得通。
有很多在线示例显示了原始语法。C++11 规范中是否有更改以禁止这种语法?
作业是否有有效的简短表格?
编辑:编译器错误(为了可重复性而略微编辑)是:
c++ - C++11 文件系统 (VS2012)
我在查找 vs2012 附带的标头上的任何文档时遇到了很多麻烦。我看到这里提到了它,但他们没有提供如何使用它的链接。我真正要寻找的是有关如何使用它的文档,最好使用 Visual Studio 实现。谢谢
.net - Azure 启动任务挂起
我有一个具有 MVC4 角色的 Azure 项目,我在其中添加了Visual C++ 2012 运行时库设置文件,以及一个静默安装它的脚本。
脚本工作并且库被安装,唯一的问题是任务永远不会完成并且安装过程永远不会退出,这会阻止角色启动:
我使用远程桌面连接到服务器,通过查看任务管理器,我可以看到进程vcredist_x64.exe:(实际上有 2 个,但我认为这是正常的)
当我右键单击并终止该进程时,部署成功完成并启动角色。
当我的启动任务在ServiceDefinition.csdef中设置为simple时,这是一个问题,因为这会使服务器等到任务完成才能启动角色。所以我所做的就是将任务设置为后台,这样启动脚本就不会阻止角色启动了,但即便如此,该进程仍在后台运行,必须手动终止。
该脚本应该可以工作,并且以前使用过 2010 VC++ 库(虽然没有 EXIT,但应该存在以避免在脚本返回错误代码时阻止角色):
没用,所以我想我会在安装后手动终止该进程:
没有工作,过程仍然存在。如果我自己在服务器上或本地手动运行该脚本实际上可以工作,但是当 Azure 在部署期间尝试执行此操作时,它会挂起。
我的启动任务在 ServiceDefinition.csdef 中定义如下:
登录C:\Resources\temp\{RoleId.RoleName}\RoleTemp
说一切顺利。
我可以通过将启动任务设置为后台而不是简单来避免角色被阻止,但这并不能真正解决问题。谢谢。