标签: visual-c++-2012

C++ 11文件系统(VS2012)

我在查找vs2012所包含的标题上的任何文档时遇到了很多麻烦.我看到它在这里提到但它们没有提供如何使用它的链接.我真正想要的是如何使用它的文档,首选visual studio实现.谢谢

c++ visual-c++ c++11 visual-c++-2012 c++-tr2

10
推荐指数
1
解决办法
1万
查看次数

为什么此模板代码在VS2010中有效,但在VS2012中无效?

我继承了一个大量使用模板元编程的项目,现在正处于从Visual Studio 2010升级到2012的过程中.一些模板代码在2012年不再有效.我已经提炼了一个最小的例子:

template <typename T, int i>
class MyClass
{
private:
    typedef typename T::Nested<i> Found;
};
Run Code Online (Sandbox Code Playgroud)

给出此错误消息:

    source.cpp(5): error C2059: syntax error : '<'
    source.cpp(6) : see reference to class template instantiation 'MyClass<T,i>' being compiled
    source.cpp(5): error C2238: unexpected token(s) preceding ';'
Run Code Online (Sandbox Code Playgroud)

进一步下来MyClass,我可以使用T::Nested<i>,这只是typedef不起作用.

此示例在2010年编译,但不在2012年编译.此代码有什么问题?

c++ templates template-meta-programming visual-c++-2012

10
推荐指数
1
解决办法
690
查看次数

使用Visual Studio 2012编译C app

我计划使用Microsoft Visual Studio 2012在C中编写应用程序.问题是我找不到在编辑器中编译它的方法.我找到了这个解决方案http://msdn.microsoft.com/en-us/library/bb384838.aspx但我不喜欢它.你能推荐我一种在Visual Studio 2012中编译C程序的方法吗?

c visual-studio visual-c++ visual-studio-2012 visual-c++-2012

9
推荐指数
3
解决办法
4万
查看次数

类的成员是否可以与其类型(另一个类)命名相同的名称?

尝试在不同的编译器上编译以下代码给我两个不同的结果:

struct S{};
struct T{S S;};
int main(){}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在内部T,我有一个与之前定义的类名称相同的对象S.


在GCC 4.7.2上,我收到S S;内部声明有关的以下错误T:

错误:声明'ST :: S'[-fpermissive]
错误:从'struct S'改变'S'的含义[-fpermissive]

但是,将它移到课堂外(或进入main)可以正常工作:

struct S{};
S S;
int main(){}
Run Code Online (Sandbox Code Playgroud)

它给我的错误究竟是什么意思?


在Visual Studio 2012中,整个事件编译并运行没有任何错误.将它粘贴到这个Clang 3.0编译器中也没有错误.

哪个是对的?我真的可以这样做吗?

c++ implementation g++ clang visual-c++-2012

9
推荐指数
3
解决办法
2801
查看次数

使用CMake,C++和Visual Studio 2012进行概要分析

我正在使用CMake 2.8.10.1为Visual Studio 2012 Ultimate(64位)生成项目文件.生成的解决方案包含库,一些测试和一些可执行文件.

我想介绍一些应用程序.当我选择"ANALYZE" - >"启动性能分析"时,我遇到错误消息" 没有可启动项目可用于分析".如何描述CMake生成的解决方案?

profiling cmake visual-c++ visual-studio-2012 visual-c++-2012

9
推荐指数
2
解决办法
3465
查看次数

VC++ 2012:如何将版本信息从version.inc(单独维护)包含到.rc文件中

简介:version.inc通过预处理器宏单独维护中定义版本详细信息...如何将宏值包含到资源版本定义块中?

我的version.inc文件以UTF-8存储(例如纯ASCII).其完整内容如下(APS_此处的前缀与应用程序的真实名称相关,而不是.aps与资源编译器生成的文件相关):

#define APS_MAJORNUMBER          4
#define APS_MINORNUMBER          5
#define APS_BUILDNUMBER          0
#define APS_MODIFICATIONNUMBER   0
#define APS_BUILDEXT              "wx"
#define APS_DATEYEAR          2012
#define APS_DATEMONTH           10
#define APS_DATEDAY              4
Run Code Online (Sandbox Code Playgroud)

app.rc与Visual Studio 2010相比,Visual Studio 2012 C++似乎对资源脚本文件()更加挑剔.我注意到的第一件事是,当手动编辑时,我必须保持UTF-16编码.你能证实吗?那有什么文件吗?

app.rc看起来像这样的版本块:

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x40004L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040504b0"
        BEGIN
            VALUE …
Run Code Online (Sandbox Code Playgroud)

visual-c++-2012

8
推荐指数
1
解决办法
1万
查看次数

构建使用Visual Studio 2012创建的C++/C#而不安装VS 2012?

如果我有VS2012的Visual Studio解决方案文件,其中包含很少的C++本机项目和一些C#项目,我是否可以在不安装 Visual Studio 2012本身的情况下构建此解决方案?

这将简化(除其他外)我们的Build-Server节点上的维护.

msbuild winapi visual-studio visual-c++ visual-c++-2012

8
推荐指数
1
解决办法
1798
查看次数

Visual Studio 2012 Update 2中的std :: async衰减(丢失)右值引用.任何变通方法?

考虑以下代码:

#include <memory>
#include <future>

using namespace std;

template <typename T, typename Work>
void Test2(future<T> f, Work w)
{
  async([](future<T> && f, Work w)
                      {}, move(f), move(w));
}

int main()
{
  future<int> x = std::async([]()->int{
        std::this_thread::sleep_for(std::chrono::microseconds(200));
        return 10;
    });

  Test2(std::move(x), [](int x){});
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以上编译错误导致失败:

错误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 …

c++ future visual-c++ c++11 visual-c++-2012

8
推荐指数
1
解决办法
831
查看次数

线程构建块库vc11_ui?

我最近下载了TBB41_20130613(此时Windows的当前版本),我注意到有文件夹vc11vc11_uibin/lib文件夹.据我所知,两者都有相同的库(文件名相同),但它们显然是不同的二进制文件(不同的文件大小).我没有在文档中找到任何参考,也没有通过Google找到两者之间的区别.

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

tbb visual-studio-2012 visual-c++-2012

8
推荐指数
1
解决办法
1782
查看次数

如何处理在被取消的构建中随机损坏的预编译头文件?

我使用Visual C++ 2012和一个大量使用预编译头的项目.如此沉重以至于臭名昭着/ Zm开关正在使用中.

当我取消正在进行的构建时,我有时会在下一个构建中出现此错误:

error C1852: 'foo.pch' is not a valid precompiled header file
Run Code Online (Sandbox Code Playgroud)

十分之九,事情会顺利进行,但是当发生这种情况时,我必须找到.pch并在重新启动构建之前手动删除它.

这让我有点恼火.有没有办法防止这种情况发生?来自微软的补丁?或者强制Visual删除.pch并在问题发生时自动重新启动构建的方法?或者其他一些我没想过的解决方案?

编辑:这是我正在运行的Visual版本:

Microsoft Visual Studio Professional 2012
Version 11.0.61030.00 Update 4
Run Code Online (Sandbox Code Playgroud)

c++ pch visual-c++ visual-c++-2012

8
推荐指数
1
解决办法
502
查看次数