草庐IT

msvc-version

全部标签

windows - 如何 : Multiple versions of msvcrt9 as private SxS assemblies?

我有一个包含预构建Dll模块的项目,该模块是过去一段时间使用VisualStudio9构建的。现在项目的EXE已经构建,使用VisualStudio9的SP1。当我们部署EXE时,我们不希望需要管理访问权限,因此C-Runtime已捆绑到应用程序的根目录中。Dll:MSVCRT90.DLL及其list:Microsoft.VC90.CRT.manifest现在,EXE和最新版本的运行时list都一致-应用程序list要求9.0.30729.1的msvcrt.dll,并且crt-manifest包含确认msvcrt90.dll是版本9.0.30729.1的条目现在,一个问题。我们的应用程

c++ - 并排 : 3rd Party Dll refers to two versions of MSVCR80. DLL

我们包含一个3rdPartylib+DLL,它最近在安装上造成了很多麻烦。使用dependencywalker,我们发现dll本身引用了两个不同的VersionsMSVCR80.DLL:Version8.0.50727.4053andVersion8.0.50727.42alttexthttp://img101.imageshack.us/img101/1734/dependencywalk2.jpg在大多数情况下,即使我们不分发这两个版本,安装也不会出现问题。但在许多情况下,我们的安装并没有启动。然后我们在SideBySide管理器的Windows系统事件日志中找到消息:“DLL版本

Windows "known folders": is there any one of them which is reliably read/write for all users on all versions?

SHGetKnownFolderPath()及其队列接受定义的常量之一here,返回目录的路径。我正在寻找这些文件夹中的一个,它可以被XP、Vista和Windows7上的所有用户(包括LocalSystem)可靠地写入...但我想我被淘汰了。看起来,事实上,硬盘驱动器上不再有单一位置可以放置文件并确保所有用户都可以在所有这些操作系统版本上写入它,而无需先修改权限。这是真的吗? 最佳答案 你是对的;没有这样的文件夹。您需要自己创建一个。 关于Windows"knownfolders":i

c++ - MSVC (std::codecvt) 上的双字节编码:无法识别前导字节

我想使用std::codecvt::in()将以双字节代码页编码的字符串转换为UTF-16字符串关于Microsoft标准库实现(MSVC11)。例如,考虑以下程序:#include#includeintmain(){//KATAKANALETTERA(U+30A2)inShift-JIS(Codepage932)//http://msdn.microsoft.com/en-us/goglobal/cc305152charconstcs[]="\x83\x41";std::localeloc=std::locale("Japanese");//Output:"Japanese_Japa

c - MSVC 生成的符号表中 __real、__imp、__xmm 符号的含义

我是一名UNIX开发人员,负责帮助维护一些Windows软件,我正在查看.DEF生成器同时修复错误。它不包括__xmm,__real和__imp-来自导出的前缀符号。我一直在努力弄清楚这些符号到底是什么。很明显,它们不需要出现在.DEF中。文件(如果它们需要在DLL接口(interface)上导出,编译器将__declspec(dllexport)对其自身进行注释)但是......它们是什么?看起来排除__imp的目的前缀是排除functioncallthunks.正确吗?搜索MSDN未提供有关__xmm的信息或__real(顺便说一句,使用social.msdn.microsoft.

windows - sh.exe":/bin/git bad file number when git -version

刚刚安装了git,当我运行gitbash并输入git-version时,我得到了这个错误:sh.exe":/bin/git:badfilenumber。在安装过程中,我遇到了一个错误,但安装继续进行:“无法配置结束转换core.autocrif的行。”GitGUI未启动,我收到错误消息:“Windows无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。”尝试以管理员身份运行不会改变它。 最佳答案 我偶尔会遇到这个问题(包括大约5分钟前),我通过重新安装Gitclient来“解决”它.

ARM开发初级-Windows环境下的STM32开发环境搭建(包含missing compiler version 5的解决方法)-学习笔记02

文章目录1.KeilMDK-ARM简介及安装1.1KeilMDK-ARM简介1.2KeilMDK-ARM获取与安装2.安装ST_LINK烧写工具3.STM32CubeMX3.1简介3.2下载3.3基本使用4.MissingCompilerVersion5路径中不要有中文,不管哪个软件1.KeilMDK-ARM简介及安装1.1KeilMDK-ARM简介KeilMDK,也称MDK-ARM,RealviewMDK(MicrocontrollerDevelopmentKit)等。目前KeilMDK由三家国内代理商提供技术支持和相关服务。MDK-ARM软件为基于Cortex-M、Cortex-R4、AR

PhpStorm 在 Windows 上使用 PHP 5.6 表示 "PHP version Not installed"

我从here下载了适用于Windows的PHP5.3版的msi安装程序.安装后,我可以让PhpStorm毫无问题地识别它(成功添加解释器)。现在,我想安装5.6版。这个版本没有msi,所以我下载了一个(实际上是多个)压缩文件。我解压它,然后转到PhpStorm,添加解释器,当我选择php.exe文件时,它告诉我“PHP版本:未安装”。我运行的是x64Windows10。我已经在下载页面中尝试了x64(nts和非nts)版本,以及x86版本。我还尝试更改环境变量PHPRC以防msi安装程序正在执行此操作。一切都没有运气。知道发生了什么事吗? 最佳答案

windows - 用私有(private)实现替换 MSVC CRT 函数

我有一个嵌入式IoT项目,我喜欢首先使用VisualStudio等PC工具进行部分开发。我的嵌入式项目只有一个文件系统的闪存,我想将fopenfread等重定向到我自己在Windows上的私有(private)实现。但我遇到的是无法让我的私有(private)CRT库优先于内置CRT(例如,由/MD编译器开关驱动的内置行为)。我有一个简单的三项目解决方案。项目1是一个测试可执行文件。它有一条主线:intmain(){test();}项目2和3是静态库。项目2有:#include#includevoidtest(){printf("%s\n",strchr("x",'x'));}项目3有

c++ - MSVC 函数名修饰

这个问题在这里已经有了答案:Isthereturntypeofafunctionpartofthemangledname?(2个答案)关闭10个月前。在Linux中,GCC编译器不会将返回类型添加到函数的错位名称中,在主要版本更改的情况下不会导致ABI不兼容错误。因此,我通常根据主要版本在内联命名空间中使用abi_tag来强制执行这种行为。MSVC2017如何在Windows中处理函数名称?我需要在内联命名空间中添加类似于abi_tag的内容来复制此行为吗?