我正在将我的项目从VS2010转换为VS2012.But在某些项目中出现_MSC_VER链接器错误。 通过谷歌漫长的冲浪后,我发现这个问题是由于在VS2010中创build的库链接到VS2012。 我怎样才能找出哪个项目导致错误? 在这里我引用了这个错误: Error 6 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile2.obj) Projectname2 Error 15 error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) D:\ProjectLocation\Projectname1.lib(CppFile3.obj) Projectname2 Error 13 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj […]
在Visual Studio 2005 C ++编译器上 ,当我的代码使用fopen和这样的调用时,我得到以下警告。 1>foo.cpp(5) : warning C4996: 'fopen' was declared deprecated 1> c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen' 1> Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' 我如何防止这种情况?
在我的Unicode MFC应用程序中如何从CString转换为const char* ?
我知道我可以编译单独的源文件,但是有时候 – 比如编辑许多.cpp文件使用的头文件 – 需要重新编译多个源文件。 这就是Build的用途。 VC9(Visual C ++ 2008)中“Build”命令的默认行为是试图编译所有需要它的文件。 有时这只会导致许多失败的编译。 我通常只是看错误,并按CTRL – 中断手动停止生成。 有没有办法来configuration它,这样的生成停止在第一次编译错误 (而不是第一次失败的项目构build)自动?
我正在试图找出用于在我的电脑上编译Python的Visual Studio版本 它说 Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on win32 我不明白的是MSC V.1500这个名称。 这是否意味着它是用Visual Studio 2005编译的? 我无法在http://python.org上find这些信息。
我正在阅读Ivor Horton的“开始Visual C ++ 2008”,其许多CLR示例都有这样的定义: int main(array<System::String ^> ^args) 我一页接一页地回到本书的开头,find第一个这样的例子,解释它的真正含义,但找不到一个例子。 显然,它意味着与标准int main(int argc, char *argv[]) ,但我想知道何时以及为什么^真正被使用,为什么它甚至存在(它是否做了指针*和引用&不能代表)?
Allergro是一个开源的C ++插件库,用于graphics处理。 我如何将这个库添加到我的编译器? 这些说明不适合我,因为我有Windows 7.我不知道操作系统是否重要。 我有Visual Studio速成版。 该库是一个.dll文件。 我如何将其添加到我的项目?
已经通过书籍:C ++入门书,第三版由斯坦利·李普曼,何塞·拉霍伊 直到现在发现了一个错误。 …在第6.3节中介绍的程序如何生成一个载体,这个程序错过了一个“<”在couts! 给出的scheme是: #include <vector> #include <iostream> int main(){ vector< int > ivec; cout < "ivec: size: " < ivec.size() < " capacity: " < ivec.capacity() < endl; for ( int ix = 0; ix < 24; ++ix ) { ivec.push_back( ix ); cout < "ivec: size: " < ivec.size() < " capacity: […]
Visual Studio 2012(VS2010之后的下一个版本)的预览版现在可用 。 有谁知道它支持什么新的C ++ 11function? (我目前无法尝试)。
我可以使用CreateProcess来启动一个EXE。 我想在一个内存缓冲区中有一个EXE的内容,并且不需要把它写到一个文件上就可以对其执行CreateProcess(或者等价的)。 有没有办法做到这一点? 背景故事:我们制作游戏。 我们发送一个简单的EXE给我们的分销商,然后用他们最喜欢的DRM包装,然后卖给他们的用户。 有用户发现崩溃的情况。 大多数的崩溃需要5分钟的时间来修复,但补丁必须通过经销商,可能需要几天,甚至几周。 我不能把补丁的EXE发送给玩家,因为它不会有经销商的DRM。 我正在考虑在一个encryption的数据文件中分发真正的游戏EXE,所以被封装(外部EXE)只是解密并启动真正的EXE。 这样我可以安全地分发修复程序而不禁用DRM。