当前位置:首页 > 编程开发

ps 记录

webgou16年前 (2010-11-30)编程开发265
ps 记录 [B]Compiler Error C2733 - second C linkage of overloaded function 'function' not allowed[/B] If we try to compile with Microsoft Visual C++ 2010 Express a project that includes old Microsoft Platform SDK headers and against old libraries, we have to modify Additional include Directories and Additional library Directories. When we install Microsoft Visual C++ 2010, it updates the old Windows SDK, adding a new directory in C:\Program Files named Microsoft SDKs. This directory contains new headers and new libs, so if we try to compile an old project with persistent references to the old SDK, Visual C++ will return a bunch of errors C2733 (in my case "second C linkage of overloaded function '_interlockedbittestandset' not allowed"). As said above, the solution is to update the paths in Additional include Directories and Additional library Directories. (example, from C:\Program Files\\Microsoft Platform SDK\Include to C:\Program Files\Microsoft SDKs\Windows\v7.0A\include). Best regards. [B]fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) [/B] 方案1: 适用于绝大多数文件是 .cpp 或绝大多数文件是.c的情况。在这种情况下,将少数的不同类文件设为不使用预编译头是比较平衡的做法,方法是:对于 VC++6.0,在 FileView 里对要取消预编译头的 .c (或 .cpp) 文件点右键,选择 settings,在弹出的对话框右边选择 category 为 precompiled headers,再设置选项为 not using ...;(对于 VS2005,则在 solution explorer 中对相应文件点右键选择 properties,在 precompiled headers 项下设置 not using... 即可。如果需要设置多个文件,则可以按住 Ctrl 键再同时选中这些文件并设置)PS:解释如下点击项目 点击属性 然后选择C/C++ 预编译头 创建使用头文件 不使用预编译头文件(解决方案资源管理器-右击需要排除的c或cpp文件]-弹出属性菜单-展开C/C++-预编译头-创建/使用预编译头-选择不适用预编译头) 方案2: 影响的文件比较多,则把它们都设置禁止预编译头的话仍然会使项目总体的编译速度大大降低,得不偿失。这时考虑可以为这组文件建立专用的预编译头。在 VC++ 极早期版本(1.5及以前版本)中是支持单个工程中建立分别针对 .c 和 .cpp 的预编译头的,但之后的版本中只支持单独的预编译头。在这种情况下,我们可以在workspace(或 solution)中建立一个新的静态链接库 (Static Library) 工程,将所有的 .c 文件独立出来加入到该工程中单独编译,这样就可以在该静态链接库中针对 .c 文件创建预编译头。但是这样做在一定程度上需要被独立出来的代码在逻辑上是属于同一模块中的,这样才便于维护。不过从设计的角度来说,这个要求一般是满足 的,否则就应考虑下项目的总体设计了:P 最后别忘了设置原项目的依赖项 (dependency) 为独立出来的这个静态库项目。 [B]Re: ERROR: Use of C runtime library internal header file.[/B] Then in VS make sure the Preprocessor Directives and Include file path are set properly for your project, by doing the following: 1) In VS 2005, go to Project > Properties > C/C++ > Preprocessor, and make sure that at least these three Preprocessor Definitions are set: _WIN32_WCE;UNDER_CE;_X86_ Then do either 2A or 2B: 2A) Be sure your INCLUDE environment variable is set to "C:\Program Files\Windows CE Tools\wce600\\Include\X86" (or whatever your appropriate Include path is). (This is what the compiler uses as the "Standard Include Path".) or 2B) In ...C/C++ > Preprocessor, set "Ignore Standard Include Path" to "Yes (/X)", and in the General settings, set "Additional Include Directories" to "C:\Program Files\Windows CE Tools\wce600\\Include\X86" (or whatever your appropriate Include path is). Hope this helps... David K

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=403

分享给朋友:

“ps 记录” 的相关文章

通往WinDbg的捷径(二)

 保存 dumps 在 我们调试不容易重现的问题时,可能想把应用程序状态的快照(内存内容,打开名柄的列表,等等)保存起来,以便日后分析。例如,当我怀疑当前的状态可能包含 我试图解决的问…

C栈的实现

C栈的实现…

StandardTokenizer.jj的代码

下边为StandardTokenizer.jj的代码,省略了前面的注释!使用Javacc的语法写成的,学过 javacc的语法之后,在看这些代码就比较容易了,而且整个Standard包下其他很多代码都是由此文件生成的.根据此文件可以看 StandardTokenizer用来实现区分token,从而S…

Unity Shader 极简实践1——极简描边

 1. 极简描边1.1 思路使用两个 Pass 来渲染,两个 Pass 的作用分别是 把模型放大一定倍数,渲染成纯色 正常渲染模型 这样,因为第一个纯色 Pass 把模型放大了,所以第二个正常渲染 Pass 之外能看到一圈纯色的描边,问题在于第一个 Pass 的时候如何把…

Flash 控件的一些重要属性和方法

属性: 1.AlignMode (读写) 语法:AlignMode As Long 说明:对齐方式(与 SAlign 属性联动)。当控件的 长宽比例与影片不一致且 WMode 不为 ExactFit 时,影片 (没有被放大的)在控件中显示的位置可用该属性调整。 该属性值由标志位组成。如图,将该属性值…

sandy 摄像机

SandyCam Help.The ViewFinderThis is the camera view of the Sandy world.The ViewFinder has a crosshair, that can be turned on or off, using the check b…

评论列表

webgou
webgou

A simple windows programm in c

The following programm is a minimal windows program. It opens a window and writes a text into the window.
If you compile it with MinGW, be sure to add the -mwindows flag in order to prevent the ... undefined reference to 'TextOutA@20' and ... undefined reference to 'GetStockObject@4 linker error.
#include <windows.h>
LRESULT CALLBACK WndProc(
HWND hWnd,
UINT msg,
WPARAM wParam,
LPARAM lParam ) {
switch( msg ) {
case WM_PAINT: {
PAINTSTRUCT ps;
HDC hDC = BeginPaint( hWnd, &ps );
TextOut(hDC, 10, 10, "ADP GmbH", 8 );
EndPaint( hWnd, &ps );
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc( hWnd, msg, wParam, lParam);
}
return 0;
}

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。