none
請問一個關於呼叫dll 標頭檔的錯誤 RRS feed

  • 問題

  • 用的是EVC++ 4.0來執行程式(for winCE5.0),但一執行到這個標頭檔的時候就會出現三個錯誤

    標頭檔內容:

    #ifndef __JCETTS_H
    #define __JCETTS_H

    #include <windows.h>
    #ifdef __cplusplus
    extern "C"
    {
    #endif

    #define NOTIFY_END 10 // lParam: not use

    #define TTSAPI
    ERRCODE TTSAPI jceInit(const char* szCNLib, const char* szENLib, const char* szDMLib);
    ERRCODE TTSAPI jceEnd();

    ERRCODE TTSAPI jcePlay(char * pcszText, HWND hwnd, JTTSCALLBACKPROCEX lpfnCallback, DWORD dwUserData);
    ERRCODE TTSAPI jcePlayToFile(char *pcszText, char * pcszFileName);

    ERRCODE TTSAPI jceResume();
    ERRCODE TTSAPI jceStop();
    ERRCODE TTSAPI jcePause();

    int TTSAPI jceGetStatus();
    ERRCODE TTSAPI jceSetParam(JTTSPARAM nParam, DWORD dwValue);
    ERRCODE TTSAPI jceGetParam(JTTSPARAM nParam, DWORD *pdwValue);

    #ifdef __cplusplus
    }
    #endif
    #endif

    出現的錯誤訊息為:
    --------------------Configuration: ReaderNew3 - Win32 (WCE ARMV4I) Debug--------------------
    Compiling...
    ReaderNewDlg.cpp
    c:\documents and settings\administrator\桌面\ejtts4.0\ejtts4.0\readernew_ce\readernew_ce\jcetts.h(15) : error C2146: syntax error : missing ';' before identifier 'TTSAPI'
    c:\documents and settings\administrator\桌面\ejtts4.0\ejtts4.0\readernew_ce\readernew_ce\jcetts.h(15) : error C2501: 'ERRCODE' : missing storage-class or type specifiers
    c:\documents and settings\administrator\桌面\ejtts4.0\ejtts4.0\readernew_ce\readernew_ce\jcetts.h(15) : fatal error C1004: unexpected end of file found
    Error executing clarm.exe.

    ReaderNew3.exe - 3 error(s), 0 warning(s)


    光是第一個錯誤就讓人不解了,";"怎麼看都標在對的地方啊,怎麼會漏了呢??
    另外的就是謎了~看不出來到底是哪裡出了問題

    想請教一件事是:ERRCODE TTSAPI jceEnd();  每個函式前都有個ERRCODE這表示什麼意思呢??
    TTSAPI又是什麼意思??

    高手賜教吧!!
    感恩


    2009年12月6日 下午 03:57

解答

  • HI,

    missing ';' before identifier 'TTSAPI'

    這一句話的意思是VC++不認識TTSAPI, 所以您必須在檔案的前面引入宣告TTSAPI型態的Header file, 同樣地:

    'ERRCODE' : missing storage-class or type specifiers

    這一句話的意思是VC++不認識ERRCODE, 所以您必須在檔案的前面引入宣告ERRCODE型態的Header file
    2009年12月7日 上午 03:41