草庐IT

MSVC_VERSION

全部标签

c++ - 如何在使用 MSVC2012 作为编译器的 Qt Creator 上使用 libCURL

目前我已经在我的系统上安装了qt-windows-opensource-5.1.1-msvc2012-x86_64-offline一切正常,但我无法真正成功地在我的Qt项目中使用libCurl。我已经下载了这个版本的libcurl:http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zipMSVCmetalink7.19.3develSSLFredericElbin4.04MB我已将include文件夹从存档移动到VCinclude文件夹,并且我已使用#include将其包含在程序中并且运行良好。现在在lib文件夹上有另

c++ - MSVC 静态常量模板成员初始化失败

在使用MSVC编译器时,在模板类上初始化静态常量变量时​​遇到问题。我试过MSVC2013、MSVC2012和MSVC2010。此代码适用于MinGW、MinGW-w64、GCC和Clang。#include#includeusingnamespacestd;templatestructStringHolder{staticconststd::stringstr;};templateconststringStringHolder::str{"integer"};intmain(){//printsnothingwhencompiledwithMSVC2013,workswithMinG

c++ - 确认此标准库错误与 MSVC 2015 RC 中的分配器有关

这是一个SSCCE:#include#includetemplatestructmy_allocator:std::allocator{//Thisoverridingstructcausestheerrortemplatestructrebind{typedefmy_allocatorother;};//Ignoreallthis.typedefstd::allocatorbase;typenamebase::pointerallocate(typenamebase::size_typen,std::allocator::const_pointer/*hint*/=nullptr){

c++ - MSVC2015 decltype 重载模板函数中的参数类型

下面的程序是否兼容C++11?如果是这样,您是否知道触发它的特定MSVC错误?和/或可能的解决方法?#includestructA{};structB{};constexprAaaa={};constexprBbbb={};templatevoidfoo(T,decltype(aaa)){std::coutvoidfoo(T,decltype(bbb)){std::cout如果将实际类型替换为decltype那么它就可以工作,但实际上这些类型太复杂而无法重现,我不希望它们有别名。 最佳答案 适用于我(VS2015/v140)并进行以

c++ - MSVC 无法评估 enable_if 中的 constexpr 函数

考虑一个简单的效用函数来计算合取,并使用这个效用来确保std::tuple中的类型都相等。#include#includeconstexprautoall()noexcept->bool{returntrue;}templateconstexprautoall(boolconstx,Bools...xs)noexcept->bool{returnx&&all(xs...);}templatestructfoo;templatestructfoo,std::enable_if_t::value...)>>{};intmain(){foo>x;}GCC和Clang可以处理这段代码,但MSV

c++ - 无法导出 cmake PROJECT_VERSION_MAJOR,因为它等于零

我在将cmakePROJECT_VERSION_MAJOR变量导出到config.h文件时遇到问题。在我的主CMakeLists.txt中,我通过在主CMakeLists.txt文件中调用project()来根据cmake文档设置此变量:cmake_minimum_required(VERSION3.2.2)cmake_policy(SETCMP0048NEW)set(PROJECT"SampleName")project(${PROJECT}VERSION"0.0.0")configure_file(${CMAKE_SOURCE_DIR}/cmake/config.h.cmake${

c++ - 与 const 枚举值 0 匹配的 MSVC 函数

我被MSVC意外的C++函数匹配所困扰。我可以将其简化为以下测试用例:#includeenumCode{aaa,bbb};structMyVal{Codec;MyVal(Codec):c(c){}};voidtest(inti,MyValval){std::cout我预计test的所有7次调用都将匹配第一个重载,并且GCC(liveexample)和Clang(liveexample)按预期匹配:case1:value0case2:value0case3:value1case4:value0case5:value0case6:value0case7:value1但MSVC(liveex

c++ - MSVC 编译器错误 C4315 - 未找到文档

今天编译我的应用程序时,我遇到了这个警告(我认为代码是不相关的):warningC4315:'MyClass':'this'pointerformember'MyClass::my_data_'maynotbealigned8asexpectedbytheconstructor我无法在联机帮助、本地安装的帮助或通过谷歌搜索中找到有关此警告的任何文档。我确实在MS论坛上找到了一个链接:NodocumentationforcompilerwarningC4315但没有关于错误本身的信息。你有关于这个错误的任何信息吗?我正在尝试弄清楚如何修复它。 最佳答案

c++ - lambda 如何在 MSVC2017 15.9.3 with/std :c++17? 中使用静态本地错误返回值

下面的示例代码打印来自lambda函数的值,该函数简单地递增并返回静态局部计数器变量的值。它打印0,1和2,3正如预期的那样,gcc和C++17的clang。但在VisualStudioCommunity201715.9.3中没有/std:c++17设置-它打印0,0和2,3相反。#includeintmain(){autof=[]{staticinti=0;returni++;};constintv1=f();//Expectv1=0constintv2=f();//Expectv2=1//Printsthewrongvalues(MSVC15.9.3with/std:c++17)s

c++ - 为什么这个不正确的 std::function 初始化使用 MSVC 编译?

今天遇到一个有趣的问题,由我自己的错字引起。我创建了一个lambda,它接收对结构的引用,并错误地将其设置为std::function,该函数按值接收它的参数。这是一个更简洁的版本:#includestructInputStruct{inti;InputStruct():i(1){}};voidfunction_rcv(std::function&func_ref){InputStructin;func_ref(in);}intmain(){std::functionmy_func=[](InputStruct&in)->bool{returnin.i==1;};function_rc