草庐IT

c++ - 如何在 Visual Studio 中更改 C++ 标准库实现

我想将Microsoft的C++标准库更改为另一个支持C++17标准的标准库。我的意思是用libstdc++或libc++交换vslib有可能吗?我不知道该怎么做。 最佳答案 据我所知,VS2017对c++17有一些部分支持。它不仅与库有关,还与编译器对新功能的支持有关。所以,简单的回答:最好按原样使用VS2017,你甚至可以用clangwithmicrosoftcodegen编译. 关于c++-如何在VisualStudio中更改C++标准库实现,我们在StackOverflow上找到

c# - 输出窗口中消息的 Visual Studio 源

假设我的输出窗口中有一条消息(显示Debug的输出)Exceptionthrown:'System.InvalidOperationException'inmscorlib.dll我的应用程序没有抛出异常,只是显示该消息并继续。当我调用导入的DLL中的方法时发生异常,该DLL是一个C++模块(我的应用程序是C#)。尽管出现此消息,该方法似乎仍能正常运行。我的猜测是该模块正在处理异常然后显示该消息,但我想确定情况确实如此,并且与我如何导入它或编码数据(或自定义编码器)无关).(我的代码:[DllImport("theExternalModule.dll",EntryPoint="Read

c++ - 将 DLL C++ 类库移植到 Visual Studio 的问题

我用C++编写了一个类库,并在Linux中使用g++作为共享对象成功编译了它,然后创建了一些使用它的应用程序。现在我必须将它移植到VS2008。我为所有类提供了所需的__declspec(dllexport)前缀,然后尝试对其进行编译。我收到一堆警告,基本上与以下内容有关:我的自定义异常类,派生自std::runtime_error,它产生:“警告C4275:非dll接口(interface)类‘std::runtime_error’用作dll接口(interface)类‘cci::FileOperationException’的基础”。我应该如何使标准库类dll可导出?成员函数声明中

c++ - Visual Studio 2010 C++,无法打开包含文件 : 'afxwin.h' , 'TCHAR.H' 和 'cassert'

我是VS2010的新手,并尝试编译一个曾经在VS2008中工作过的项目。错误看起来很简单:stdafx.h(43):fatalerrorC1083:无法打开包含文件:'afxwin.h':没有这样的文件或目录stdstring.h(619):fatalerrorC1083:无法打开包含文件:'TCHAR.H':没有这样的文件或目录threads.h(52):fatalerrorC1083:无法打开包含文件:'cassert':没有那个文件或目录我google了一下,这种错误经常发生在VS2010Express版中,但是我用的是VS2010ProfessionalEdition。我已经检

Visual Studio 2012 : LPCWSTR and wstring 中的 C++ 编译错误

以下代码在VisualStudio2010中编译但在VisualStudio2012RC中编译失败。#include//Windowsstuffstypedef__nullterminatedconstwchar_t*LPCWSTR;classCTestObj{public:CTestObj(){m_tmp=L"default";};operatorLPCWSTR(){returnm_tmp.c_str();}//returnsconstwchar_t*operatorstd::wstring()const{returnm_tmp;}//returnsstd::wstringprote

c++ - visual c++ 2010 express 自动书写括号

在我安装VisualStudio之前,我一直在使用其他IDE,例如codeblocks和DevC++,有一个不错的选择,当我编写{时,它会自动关闭循环并将光标移至一个新行,我不需要像在VisualStudio中那样手动完成。VisualStudio中有这样的选项吗?如果是这样,我该如何启用它? 最佳答案 这是尝试让BraceCompleter适用于所有Express版本的hack(我无法测试它是否有效)。将包的扩展名从vsix更改为zip。找到文件扩展名.vsixmanifest并在文本编辑器中将其打开。有一个支持版本的列表。添加一

c++ - 为什么新的 Visual Studio 运行时不是 Windows 的一部分

我知道我必须随项目一起分发C/C++运行时库。我只是想知道为什么微软不为我们这样做?我知道Windows中包含VisualStudio6.0运行时,但为什么没有新的?如果有人可以给我一些解释文章的链接。我试图用谷歌搜索一段时间但没有成功。 最佳答案 Windows中包含一个C运行时,msvcrt.dll。MinGWgcc变体使用该库作为其基本运行时。Microsoft还构建链接到该运行时的程序(例如,作为Windows安装一部分的程序)。虽然作为Windows一部分的msvcrt.dll与VC6的运行时DLL同名,但它不一定是VC6

c++ - Visual Studio 2013 c++ lambda 捕获参数包

目前VisualStudio2013更新2不支持完整的C++11,其中一个功能是在lambda中捕获参数包。有没有一种简单的方法可以解决这个问题,或者我将不得不放弃visualstudio并使用兼容的编译器,例如mingw/g++?以下代码演示了我所想的一个简单用例:templatestd::threadinit_threaded(SomeObjectsample,Args&&...args){autofunc=[=](){sample->init(args...);};returnstd::thread(func);}这在linux下的最新xcode(5.1.1)和最新版本的g++(

c++ - 如何检测 Qt Creator 的目标(调试/发布)(Visual Studio)

所以我使用qmake来创建我的程序,但是我总是在我的调试和发布boost库之间有冲突,消息是:libboost_system-vc120-mt-s-1_58.lib(error_code.obj):-1:error:LNK2038:mismatchdetectedfor'_ITERATOR_DEBUG_LEVEL':value'0'doesn'tmatchvalue'2'inmain.obj我想使它自动化,以这样一种方式,从QtCreator选择调试或发布足以创建正确的版本。我看到了其他解决方案,例如here,但这不起作用。不起作用的原因可以在调用以下命令进行调试和发布时看到:mess

c++ - Visual Studio 2008/10 的即时窗口中的 "search memory"是否损坏?

在VisualStudio2005中,我开始严重依赖MSVC的立即窗口来处理itsusefulsearch-through-memory-for-byte-patternsfeature。.我们最近升级到VS2010,现在.S命令似乎不再起作用了。对于我尝试的任何搜索,即使我直接复制粘贴theexamplesfromMSDN,当我尝试使用内存搜索时,总是出现以下错误:CXX0014:Error:missingoperandOthershavereportedthisproblemhereonSO,但谷歌没有出现任何有用的讨论。此功能在MSVC2010中是否被简单地破坏了?我感觉微软在他