include 后报C1004错:unexpeced end of file 提示该文件中少分号
win32 dialog 工程
自带consol例程不错,它用了stdio.h
加stdafx.h也不行,奇怪?????????

解决方案 »

  1.   

    #ifndef _BTAPI_H
    #define _BTAPI_H#include <stddef.h> /* gives us size_t and NULL */
    #include "btdef.h"/*
    ** Define BT_EXTERN
    */
    #ifdef __cplusplus
    #define BT_EXTERN extern "C"
    #else /* __cplusplus */
    #define BT_EXTERN extern
    #endif /* __cplusplus *//*****************************************************************************
    **
    **  Product specific include files
    **
    *****************************************************************************/#if defined(BT21805)
    #include "btuapi.h"     /* Universe specific include file */
    #endif  /* BT21805 */#if defined(BT28801)
    #include "btvapi.h"
    #endif /* BT28801 */#if defined(BT973) || defined(BT983)
    #include "btwapi.h"
    #endif /* BT973 || BT983 */#if defined(BT18901)
    #include "btvapi.h"
    #endif /* BT18901 */#if defined(BT18902)
    #include "btqapi.h"
    #endif /* BT18902 */#if defined(BT15901) || defined(BT15991)
    #include "btmapi.h"     /* Broadcast/Shared Memory specific include file */
    #endif /* BT15901 */#if defined(BT17903)
    #include "btuapi.h"     /* NanoBridge specific include file */
    #endif /* BT17903 *//*****************************************************************************
    **
    **  Macros and types for the SBS Bit 3 Application Programming Inteface.
    **
    *****************************************************************************/
    /*****************************************************************************
    **
    **  Common types and defines for SBS Bit 3 Application Programming Interface
    **
    *****************************************************************************/
    /*****************************************************************************
    **
    **  Prototypes for the SBS Bit 3 Application Programming Inteface.
    **
    *****************************************************************************/
    /*
    **  Function prototypes for SBS Bit 3 API
    */
    #if !defined(BT973) && !defined(BT983) && !defined(BT15901) && !defined(BT15991) && !defined(BT17903)/*
    **                    Standard Prototypes
    */BT_EXTERN bt_dev_t     bt_str2dev(const char *name_p);
    BT_EXTERN char *       bt_gen_name(int unit, bt_dev_t logdev, char *devname_p,
                                       size_t max_devname);
    BT_EXTERN bt_error_t   bt_open(bt_desc_t *btd_p, const char *devname_p,
                                   bt_accessflag_t flags);
    BT_EXTERN bt_error_t   bt_close(bt_desc_t btd);
    BT_EXTERN bt_error_t   bt_chkerr(bt_desc_t btd);
    BT_EXTERN bt_error_t   bt_clrerr(bt_desc_t btd);
    BT_EXTERN bt_error_t   bt_perror(bt_desc_t btd, bt_error_t errval,
                                     const char * msg_p);
    BT_EXTERN char         *bt_strerror(bt_desc_t btd, bt_error_t status,
                                       const char * msg_p, char * buf_p,
                                       size_t buf_len);
    BT_EXTERN bt_error_t   bt_init(bt_desc_t btd);
    BT_EXTERN bt_error_t   bt_read(bt_desc_t btd, void *buf_p,
                                   bt_devaddr_t xfer_off, size_t xfer_len, 
                                   size_t *xfer_done_p);
    BT_EXTERN bt_error_t   bt_write(bt_desc_t btd, void *buf_p, 
                                    bt_devaddr_t xfer_off, size_t xfer_len, 
                                    size_t *xfer_done_p);
    BT_EXTERN bt_error_t   bt_get_info(bt_desc_t btd, bt_info_t param, 
                                       bt_devdata_t *value_p);
    BT_EXTERN bt_error_t   bt_set_info(bt_desc_t btd, bt_info_t param, 
                                       bt_devdata_t value);
    BT_EXTERN bt_error_t   bt_icbr_install(bt_desc_t btd, bt_irq_t irq_type, 
                                           bt_icbr_t *icbr_p, void *param_p,
                                           bt_data32_t vector);
    BT_EXTERN bt_error_t   bt_icbr_remove(bt_desc_t btd, bt_irq_t irq_type,
                                          bt_icbr_t *icbr_p);
    BT_EXTERN bt_error_t   bt_lock(bt_desc_t btd, bt_msec_t wait_len);
    BT_EXTERN bt_error_t   bt_unlock(bt_desc_t btd);
    BT_EXTERN bt_error_t   bt_mmap(bt_desc_t btd, void **map_p, 
                                   bt_devaddr_t map_off, size_t map_len, 
                                   bt_accessflag_t flags, bt_swap_t swapping);
    BT_EXTERN bt_error_t   bt_unmmap(bt_desc_t btd, void *map_p, size_t map_len);
    BT_EXTERN bt_error_t   bt_bind(bt_desc_t btd, bt_binddesc_t* bind_p,
                                   bt_devaddr_t* offset_p, void * buf_p,
                                   size_t buf_len, bt_accessflag_t flags,
                                   bt_swap_t swapping);
    BT_EXTERN bt_error_t   bt_unbind(bt_desc_t btd, bt_binddesc_t desc);
    BT_EXTERN const char * bt_dev2str(bt_dev_t type);
    BT_EXTERN bt_error_t   bt_ctrl(bt_desc_t btd, int ctrl, void * param_p);#else /* !(!BT973 && !BT983 && !BT15901 && !BT15991 && !BT17903) *//*
    **                    Windows Prototypes
    *//* Windows requires __stdcall between the return type and the function
       name- so we can't just hide it in BT_EXTERN. */
    BT_EXTERN bt_dev_t     __stdcall bt_str2dev(const char *name_p);
    BT_EXTERN char *       __stdcall bt_gen_name(int unit, bt_dev_t logdev, 
                                                 char *devname_p, 
                                                 size_t max_devname);
    BT_EXTERN bt_error_t   __stdcall bt_open(bt_desc_t *btd_p, 
                                             const char *devname_p,
                                             bt_accessflag_t flags);
    BT_EXTERN bt_error_t   __stdcall bt_close(bt_desc_t btd);
    BT_EXTERN bt_error_t   __stdcall bt_chkerr(bt_desc_t btd);
    BT_EXTERN bt_error_t   __stdcall bt_clrerr(bt_desc_t btd);
    BT_EXTERN bt_error_t   __stdcall bt_perror(bt_desc_t btd, bt_error_t errval,
                                               const char * msg_p);
    BT_EXTERN char *       __stdcall bt_strerror(bt_desc_t btd, bt_error_t status,
                                                 const char * msg_p, char * buf_p,
                                                 size_t buf_len);部分代码,怀疑伪编译问题,哪位高手懂啊
      

  2.   

    没有btdef.h没法试..要改得太多
      

  3.   

    #ifndef _BTDEF_H
    #define _BTDEF_H#include        <stddef.h>/*****************************************************************************
    **
    **  Definitions to identify the operating system.
    **
    *****************************************************************************/
    #if defined(BT973) && !defined(BT_WIN95)
    #define BT_WIN95
    #endif /* BT973 */#if defined(BT983) && !defined(BT_WINNT)
    #define BT_WINNT
    #endif /* BT983 */#if defined(BT15901)    /* Broadcast Memory */
    #define BT_WINNT
    #endif /* BT15901 */#if defined(BT15991)    /* Shared Memory */
    #define BT_WINNT
    #endif /* BT15991 */#if defined(BT17903)    /* NanoBridge */
    #define BT_WINNT
    #endif /* BT17903 */
    /*****************************************************************************
    **
    **  VMEbus macros.
    **
    *****************************************************************************/
    /*
    **  VMEbus address modifiers 
    */
    #define BT_AMOD_A32_SB  (0x0F)    /* A32 Extended Supervisory Block */
    #define BT_AMOD_A32_SP  (0x0E)    /* A32 Extended Supervisory Program */
    #define BT_AMOD_A32_SD  (0x0D)    /* A32 Extended Supervisory Data */
    #define BT_AMOD_A32_NB  (0x0B)    /* A32 Extended Non-Privileged Block */
    #define BT_AMOD_A32_NP  (0x0A)    /* A32 Extended Non-Privileged Program */
    #define BT_AMOD_A32_ND  (0x09)    /* A32 Extended Non-Privileged Data */
    #define BT_AMOD_A32_SMBLT  (0x0C) /* A32 Multiplexed Block Transfer (D64) */
    #define BT_AMOD_A32_NMBLT  (0x08) /* A32 Multiplexed Block Transfer (D64) */#define BT_AMOD_A32     BT_AMOD_A32_SD
    #define BT_AMOD_A32_D64 BT_AMOD_A32_SMBLT#define BT_AMOD_A24_SB  (0x3F)    /* A24 Standard Supervisory Block Transfer      */
    #define BT_AMOD_A24_SP  (0x3E)    /* A24 Standard Supervisory Program Access      */
    #define BT_AMOD_A24_SD  (0x3D)    /* A24 Standard Supervisory Data Access         */
    #define BT_AMOD_A24_NB  (0x3B)    /* A24 Standard Non-Privileged Block Transfer   */
    #define BT_AMOD_A24_NP  (0x3A)    /* A24 Standard Non-Privileged Program Access   */
    #define BT_AMOD_A24_ND  (0x39)    /* A24 Standard Non-Privileged Data Access      */
    #define BT_AMOD_A24_SMBLT  (0x3C) /* A24 Multiplexed Block Transfer (D64) */
    #define BT_AMOD_A24_NMBLT  (0x38) /* A24 Multiplexed Block Transfer (D64) */#define BT_AMOD_A24     BT_AMOD_A24_SD
    #define BT_AMOD_A24_D64 BT_AMOD_A24_SMBLT
    #define BT_AMOD_A24_MAX 0x1000000#define BT_AMOD_A16_SD  (0x2D)    /* A16 Short Supervisory Data Access            */
    #define BT_AMOD_A16_ND  (0x29)    /* A16 Short Non-Privileged Data Access         */#define BT_AMOD_A16     BT_AMOD_A16_SD
    #define BT_AMOD_A16_MAX (0x10000)
    #define BT_AMOD_DP_MAX  (0x800000)/*****************************************************************************
    **
    **  List all SBS Bit 3 adaptor part numbers registered to date.
    **  Used to track local and remote identification.
    **
    *****************************************************************************/#define BT_PN_UNKNOWN       0               /* Unknown bus                  */
    #define BT_PN_MCA5          84502220        /* MicroChannel type 5  (477)   */
    #define BT_PN_MCA5_RPQ      600433          /* MicroChannel type 5  (477)   */
    #define BT_PN_MCA3_DMA      85184230        /* MicroChannel type 3  (477-1) */
    #define BT_PN_VME_NOINC     600908          /* VME RPQ w/ DMA Inc Inhibit   */
    #define BT_PN_VME_NODMA     85154557        /* VME w/o DMA  (616)           */
    #define BT_PN_VME_SDMA      85154550        /* VME w/slave DMA  (467,487-1) */
    #define BT_PN_VME2_DMA      84302037        /* VMEbus Ver 2 w/DMA   (487)   */
    #define BT_PN_VME_DMA       82902270        /* VMEbus w/DMA         (413)   */
    #define BT_PN_VME           82902250     btdef.h 只能和厂家联系了吗
      

  4.   

    没有btdef.h吗? 那你编译时候应该有n多个错误啊 那些bt_****估计都在btdef.h中