следвайте логиката за хедар фаиловете и либ файловете.
Всеки проект в отделна директория.
Засега само чистете грешките.
Имате 130 синтаксични грешки.
Отваряйте проекта от главния work space.
Добавете това в hedar faila.
за сега е само един... за да си нямате проблеми.
Code: Select all
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Kernel
* FILE: ntoskrnl/include/ntoskrnl.h
* PURPOSE: Main Kernel Header
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
*/
/* INCLUDES ******************************************************************/
/* Version Data */
#include <psdk/ntverp.h>
#define _WIN32_WINNT _WIN32_WINNT_WS03
#define NTDDI_VERSION NTDDI_WS03SP1
/* DDK/IFS/NDK Headers */
#ifdef _MSC_VER
#include <ntdef.h>
#undef DECLSPEC_IMPORT
#define DECLSPEC_IMPORT
#endif
#include <ntifs.h>
#include <wdmguid.h>
#include <arc/arc.h>
#include <ntndk.h>
#undef TEXT
#define TEXT(s) L##s
#include <regstr.h>
/* FIXME: Temporary until CC Ros is gone */
#include <ccros.h>
#include <rosldr.h>
/* Disk Dump Driver Header */
#include <diskdump/diskdump.h>
/* C Headers */
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <malloc.h>
#include <wchar.h>
/* SEH support with PSEH */
#include <pseh/pseh.h>
/* ReactOS Headers */
#include <reactos/buildno.h>
#include <reactos/bugcodes.h>
#define ExRaiseStatus RtlRaiseStatus
#include <reactos/probe.h>
/* SetupLDR Support */
#include <arc/setupblk.h>
/* KD Support */
#define NOEXTAPI
#include <windbgkd.h>
#include <wdbgexts.h>
#include <kddll.h>
#ifndef _WINKD_
#include <reactos/rossym.h>
#endif
/* PNP GUIDs */
#include <umpnpmgr/sysguid.h>
/* Helper Header */
#include <reactos/helper.h>
/* Internal Headers */
#include "internal/ntoskrnl.h"
#include "config.h"
//
// Define the internal versions of external and public global data
//
#define IoFileObjectType _IoFileObjectType
#define PsThreadType _PsThreadType
#define PsProcessType _PsProcessType
#define ExEventObjectType _ExEventObjectType
#define ExSemaphoreObjectType _ExSemaphoreObjectType
#define KdDebuggerEnabled _KdDebuggerEnabled
#define KdDebuggerNotPresent _KdDebuggerNotPresent
#define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray
#undef LEGAL_ANSI_CHARACTER_ARRAY
#undef NLS_MB_CODE_PAGE_TAG
#undef NLS_OEM_LEAD_BYTE_INFO
#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray
#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag
#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
#undef KD_DEBUGGER_ENABLED
#undef KD_DEBUGGER_NOT_PRESENT
#define KD_DEBUGGER_ENABLED KdDebuggerEnabled
#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
#define HalDispatchTable _HalDispatchTable
#undef HALDISPATCH
#define HALDISPATCH (&HalDispatchTable)
Тез имат два "ntoskrnl.h" файла... АЛО има ли някой вкъщи???
Такива неща да няма при нас.
.lib в ../LIB
.h в ../ICLUDE (само споделените хедари... да не избухате всичко там)
в проектите.
За всеки .c да има и един .h задължително
Спомняте си кода в началото за да нема проблеми с линкването
#ifdef ...
#endif ...
Спазвайте тази логика.
Без класове.
C++ само в краен случей - тоест никога.
Компилатор VC 6.0 ++