草庐IT

visual-artifacts

全部标签

c++ - Visual C++ 编译器允许从属名称作为没有 "typename"的类型?

今天我的一位friend告诉我,以下代码在他的VisualStudio2008上编译得很好:#includestructA{staticintconstconst_iterator=100;};inti;templatevoidPrintAll(constT&obj){T::const_iterator*i;}intmain(){std::vectorv;Aa;PrintAll(a);PrintAll(v);return0;}我通常使用g++,它总是拒绝通过第二个PrintAll()调用。据我所知,对于这个问题,g++正在执行翻译模板的标准方法。那么,是我的认识有误,还是VS2008的

c++ - opengl,如何最好地使用 visual studio 更新标题?

我在更新GLheader时遇到了一些问题。基本上我想访问函数glCompressedTexImage2D但我的glheader真的很旧,我不相信这些header中存在该函数。所以我尝试更新我的gl.h文件,但我遇到了很多错误。我试过更新我的显卡软件等。谁能帮忙? 最佳答案 I'mhavingabitofanissueupdatingmyGLheaders.那是因为你不应该这样做。在Windows中,OpenGL-1.1之外的任何内容都通过扩展机制收集。访问它的最简单方法是通过GLEW.安装它并使用GL/glew.h而不是常规的GL/

c++ - 从 Visual Studio 2010 到 2012 RC 编译 MFC 应用程序导致 LNK2038

我的项目在VS2010中的调试和Release模式下编译和运行正常。今天我尝试用VS2012编译它,但我得到了这个错误:1>GeneratingCode...1>pcrecppd.lib(pcrecpp.obj):errorLNK2038:mismatchdetectedfor'_MSC_VER':value'1600'doesn'tmatchvalue'1700'inNamesEditorDlg.obj我在代码中搜索“_MSC_VER”,但找不到任何匹配项。我也找不到“1600”或“1700”。所以我想知道如何解决这个问题。 最佳答案

c++ - Visual Studio C++ 2010 如何将图标添加到控制台应用程序

我在VisualStudioC++2010中创建了一个控制台应用程序,但无法添加图标。我基本上到处搜索,但所有提示和提示似乎都不起作用,因为我什至找不到我阅读过的提示中建议的所有菜单(可能适用于旧版本的VC++2010)。关于如何简单地将自定义图标添加到我自己的控制台应用程序,有没有人有好的提示? 最佳答案 只需创建一个资源文件(.rc),并添加一个图标资源。如果其中只有一个图标-它会自动用作您的应用程序的符号描述。 关于c++-VisualStudioC++2010如何将图标添加到控制

c++ - 如何在 Visual Studio C++ 2010 中将 BSTR 转换为 std::string?

我正在处理COMdll。我希望将BSTR转换为std::string以传递给采用常量引用参数的方法。似乎使用_com_util::ConvertBSTRToString()来获取BSTR的char*等价物是一种合适的方法。但是,API文档很少,而且实现可能存在问题:http://msdn.microsoft.com/en-us/library/ewezf1f6(v=vs.100).aspxhttp://www.codeproject.com/Articles/1969/BUG-in-_com_util-ConvertStringToBSTR-and-_com_util例子:#inclu

c++ - 如何在 Visual Studio 中知道项目是 C 还是 C++?

VisualStudio如何知道项目是C还是C++?是否有任何配置或构建参数表明这一点?VS是否对C使用C编译器,对C++使用C++编译器? 最佳答案 DoesVSuseCcompilerforC,andC++compilerforC++?没有cl编译器足够聪明,可以知道(基于文件扩展名)文件是.cpp还是.cc文件-它认为是C++文件。而cl编译器会将.c文件视为C程序源文件,并进行相应的编译。虽然它确实加载了一个单独的dll文件来编译C和C++文件。但这是实现定义的。但是,有一个开关可以根据文件扩展名覆盖cl的行为。要编译为C+

c# - 我可以在没有 Visual Studio 的情况下编译 DLL 吗?

我打算拿aC++library,用SWIG为C#包装它(alt.link),并将C++和C#组件编译为Unity5的DLL。(C#DLL为Unity提供了到C++DLL的接口(interface)。)据我所知,编译C++和C#DLL总是需要VisualStudio(或VS附带的工具,如msbuild)。但是,我目前正在努力安装VS,这让我质疑这个假设。是否有任何其他选项可用于在Windows上编译支持Unity的DLL?(即使我安装了VS,我仍然很想知道。) 最佳答案 您可以下载MSBuild的独立版本并用它来编译你的代码,你不需要

c++ - 链接到MS Visual C上的protobuf 3时出错

在VisualStudio上遇到2013,但任何版本均可重现。我从github克隆了ProtocolBuffer库,在其上运行CMake-gui(我将所有内容保留为默认值,因此它是静态版本),仅构建了libprotobuf(其他项目由于某种原因而失败,cmd.exe错误,可能有事情要做测试,但libprotobuf可以正常运行)。我的项目使用在mapboxvector图块规范的github上找到的.proto文件生成的header。链接时,我首先遇到此错误Error1errorC4996:'std::_Copy_impl':Functioncallwithparametersthatm

c++ - std::numeric_limits<double>::epsilon() 在 Visual C++ 2015 中未定义

以下代码产生错误:std::numeric_limits::epsilon()未定义的错误。使用numeric_limits::epsilon也会产生此错误。#ifndef_USE_MATH_DEFINES#define_USE_MATH_DEFINES#endif//!_USE_MATH_DEFINES#include#includeclassplusCartesianPoly{public:staticboolisClose(doublea,doubleb){if(fabs(a-b) 最佳答案 numeric_limits在li

c++ - Visual Studio Code c++11 扩展警告

我正在学习C++,并且正在使用适用于Mac的VisualStudio代码。我使用CodeRunner来运行我的程序。我的问题是,当我使用c++11中的某些东西(如“auto”)进行变量声明时,visualstudio代码会给我这样的警告,但如果我尝试在Xcode或Eclipse上运行它,它不会:warning:'auto'typespecifierisaC++11extension[-Wc++11-extensions]for(autoy:nstrVec)如果有必要,这是程序:#include#include#include#include#include#includeintmain