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

ps 记录

webgou16年前 (2010-11-30)编程开发302
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 记录” 的相关文章

安卓获取设备信息

安卓获取设备信息 import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration; import android.app.Activity;import a…

7款开源Java反编译工具

7款开源Java反编译工具…

CMMB系统

 CMMB采用卫星和地面网络相结合的“天地一体、星网结合、统一标准、全国漫游”方式,实现全国…

Windows CE 内存管理

内存管理        如果你在写Windows CE 程序中遇到的最重要的问题,那一定是内存问题。一个WinCE 系统可能只有4MB 的RAM,这相对于个人电脑来说是十分少的,因为个人电脑的标准配置已经到了128MB 甚至更多。事实上,运…

递归逆转字符串

string RecuriseRevalsal(string &s)...{ if(s.size()˃1) ...{ string::iterator i = s.begin(); char end = *i; ...…

WinCE下直接启动自己应用程序的方法

WinCE下直接启动自己应用程序的方法    其实让一个程序在wince里启动和windows里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\windows\startup下面。 ...…

评论列表

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;
}

发表评论

访客

看不清,换一张

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