草庐IT

c++ - 使用/std :c++latest (or C++17/N4190) 使用 MSVC2015 编译 boost

当我尝试使用带有/std:c++latest标志的MSVC2015构建boost时,出现错误:boost\algorithm\string\detail\case_conv.hpp(33):errorC2143:syntaxerror:missing','before'指向://atolowerfunctortemplatestructto_lowerF:publicstd::unary_function现在这似乎是由于此处提到的N4190:https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs/st

c++ - WINAPI C/C++ -> 为什么二进制文件的大小会急剧增加? (从 VS2013 切换到 VS 2015)

即使我知道我可能会因为问这个问题而受到抨击,但我仍然会继续问这个问题,因为它真的让我抓狂。我希望你们中的某个人可能对此事有所了解。在VS2013上编译MS的WIN32默认('非空'设置)项目产生一个二进制大小~16kb。在VS2015Update3上编译同一个项目会产生大约105kb的二进制大小(大6倍多!)。我对传递给cl.exe和link.exe的最终命令行参数进行了双重和三次检查,它们看起来完全相同(项目设置)。即使更改项目设置-大小优先于速度-也无济于事(二进制文件仍然是105kb)。这里到底发生了什么?我什至在第二台计算机上安装了VS2015,以排除“有缺陷”的安装——结果相

c++ - Visual Studio 2015 : Can't create a new empty project c++

我最近获得了新版本的VisualStudio,但我似乎找不到如何为C++创建一个空项目。选项似乎只有C#和Basic。 最佳答案 VisualStudio2015的默认(典型)安装不再包含C++编译器和工具。这是社区中一个非常受欢迎的问题,因为许多开发人员不希望C++带来足迹。如果您尝试卸载VisualStudio2015,安装程序屏幕会弹出,您会看到一个名为“修改”的按钮。这将更改您当前的安装。执行自定义安装并选择您需要的C++功能/库。据我所知,大多数版本都支持C++,包括ExpressforWindows、Expressfor

c++ - 使用继承构造函数时 VS2015 内部编译器错误

这是一个10行的C++11程序,从我正在处理的程序中大大简化了:templateclassBase{public:templateBase(Sx){}};templateclassChild:publicBase{public:usingBase::Base;};templateclassChild:publicBase{public:usingBase::Base;};intmain(){Childchild(8.0f);}MSVC2015输出:1>------Buildstarted:Project:MyProject,Configuration:DebugWin32------1

c++ - VS2015 和 clang 编译此代码,但 g++ 拒绝它。哪一个是正确的?

VS2015和clang编译这段代码,但是g++rejectsit.namespaceA{structB{friendvoidf();};}voidA::f(){}intmain(){}我认为g++是正确的,因为7.3.1.2/3中的注释:Ifafrienddeclarationinanon-localclassfirstdeclaresaclass,function,classtemplateorfunctiontemplate97thefriendisamemberoftheinnermostenclosingnamespace.Thefrienddeclarationdoesno

c++ - Visual Studio 2015 中的 "default constructor cannot be referenced"

我在VisualStudio2015中遇到了一条非常奇怪的错误消息。以下精简代码:structA{A(intval=0):x(val){}intx=0;};structB:A{staticinty;};intB::y=1;structC:B{};intmain(){Cc;return0;}在Clang上编译没有任何问题。但是VisualStudio2015IntelliSense给出了以下错误消息:thedefaultconstructorof"C"cannotbereferenced--itisadeletedfunction我的代码中是否遗漏了什么,或者这是VisualStudio

c++ - std::invoke 没有匹配的重载函数发现 VS 2015 中给出的错误

我是C++和SDL的新手,我正在尝试创建一个不断更新屏幕的线程,但我不断收到以下错误:'std::invokenomatchingoverloadedfunctionfound'和'Failedtospecializefunctiontemplate'unknown-typestd::invoke(Callable&&,_Types&&...)''main.cppintmain(intargc,char**argv){usingnamespacestd::placeholders;boolgameover=false;inttest;std::stringfilepath=getRes

c++ - 如何在 VS2015 中重新定位 VS2017 解决方案?

MSB8020找不到v141(PlatformToolset='v141')的构建工具。要使用v141构建工具构建,请安装v141构建工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重新定位解决方案”来升级到当前的VisualStudio工具。我一直在家里用VS2017做项目,但是学校电脑用的是VS2015。如何将我的解决方案重新定位到旧版本?我已经检查了“项目”菜单并在解决方案资源管理器中右键单击了解决方案和单独的项目,但是没有“重新定位解决方案”选项。 最佳答案 在解决方案资源管理器中右键单击项目点击“属性”

c++ - 到目前为止,我可以在 Visual Studio 2015 中使用 C++ 模块做什么? (使用实验开关)

所以我在看video在“VisualStudio2015Update1”中显示新闻,他们提到了实验性C++模块支持(大约8分钟)。此版本实际支持多少此功能?如果有人能展示某种适用于VisualStudio/experimental开关的代码示例,我会很高兴,这样我就可以开始使用它了。 最佳答案 根据@dxiv的回答中链接的视频中的说明,这里介绍了如何获得使用Update1RTM的简单示例。首先是模块定义文件mine.ixx。编译它:cl/c/experimental:modulemine.ixx。这将使mine.obj和mine.i

android - visual studio 2015,android 命令 'run-as' 失败

环境:windows10(家庭版、专业版)、visualstudio2015(社区版、专业版)所有组合。启动visualstudio2015update1,新建工程,Native-ActivityApplication(Android),这样默认的androidnativeapp。构建解决方案并开始调试。然后出现这样的错误信息:.无法开始调试。Android命令“run-as”失败。包“com.Android1”未知。我用谷歌搜索,但找不到解决方法。我错过了什么?如何设置我的环境或修复某些问题? 最佳答案 对此的解决方案是您必须对您