首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

中文分词ICTCLAS头文件编译出错,该怎么处理

2013-01-25 
中文分词ICTCLAS头文件编译出错本帖最后由 paendelodoss 于 2011-03-10 15:35:58 编辑/******************

中文分词ICTCLAS头文件编译出错
本帖最后由 paendelodoss 于 2011-03-10 15:35:58 编辑


/******************************************************************************* 
@All Right Reserved (C), 2010-2100, golaxy.cn
Filepath   : E:\Project\IctClas\ictclas5
Filename   : ICTCLAS5.h
Version    : ver 5.0
Author     : x10n6y@gmail.com 
Date       : 2010/06/03  
Description:    
History    :
             1.2010/06/03 17:19 Created by x10n6y@gmail.com Version 5.0  

*******************************************************************************/
#ifndef ICTCLAS_LIB_
#define ICTCLAS_LIB_

#define ICTCLAS_EXPORTS

#ifdef OS_LINUX
#define ICTCLAS_API 
#else
#ifdef ICTCLAS_EXPORTS
#define ICTCLAS_API extern "C" __declspec(dllexport)//export function
#else
#define ICTCLAS_API extern "C" //extern , c compiler
#endif
#endif

//////////////////////////////////////////////////////////////////////////
//标注集
//////////////////////////////////////////////////////////////////////////
#define ICT_POS_MAP_SECOND 0 //计算所二级标注集
#define ICT_POS_MAP_FIRST 1  //计算所一级标注集
#define  PKU_POS_MAP_SECOND 2 //北大二级标注集  
#define PKU_POS_MAP_FIRST 3//北大一级标注集
#define POS_MAP_NUMBER 4 //标注集 数量 
#define  POS_SIZE 8 // 词性标记最大字节数 

//////////////////////////////////////////////////////////////////////////
// 字符编码类型
//////////////////////////////////////////////////////////////////////////
enum eCodeType {
CODE_TYPE_UNKNOWN,//type unknown
CODE_TYPE_ASCII,//ASCII
CODE_TYPE_GB,//GB2312,GBK,GB10380
CODE_TYPE_UTF8,//UTF-8
CODE_TYPE_BIG5//BIG5
};
//////////////////////////////////////////////////////////////////////////
//字符串结果 
//////////////////////////////////////////////////////////////////////////
#pragma pack(1) 
struct tagICTCLAS_Result{
  int iStartPos; //开始位置
  int iLength; //长度
  char szPOS[POS_SIZE];//词性
  intiPOS; //词性ID
  int iWordID; //词ID
  int iWordType; //词语类型,用户词汇?(0-否,1-是)
  int lfWeight;// 词语权重
 };
#pragma pack() 
typedef tagICTCLAS_Result* LPICTCLAS_RESULT;
//////////////////////////////////////////////////////////////////////////
//接口
//////////////////////////////////////////////////////////////////////////

ICTCLAS_API bool ICTCLAS_Init(const char* pszInitDir=NULL);


ICTCLAS_API bool ICTCLAS_Exit();


ICTCLAS_API bool ICTCLAS_SetPOSmap(int nPOSmap);


ICTCLAS_API unsigned int ICTCLAS_ImportUserDictFile(
const char* pszFileName,
eCodeType codeType=CODE_TYPE_UNKNOWN
);


ICTCLAS_API unsigned int ICTCLAS_ImportUserDict(
   const char* pszDictBuffer,
   const int nLength,
   eCodeType codeType
   );

ICTCLAS_API int ICTCLAS_SaveTheUsrDic();




ICTCLAS_API int ICTCLAS_ParagraphProcess(
const char*  pszText,
int    iLength,
char*    pszResult, //[out]
eCodeTypecodeType=CODE_TYPE_UNKNOWN,
bool        bEnablePOS=false
);

ICTCLAS_API LPICTCLAS_RESULT  ICTCLAS_ParagraphProcessA(
const char*  pszText,
int    iLength,
int    &nResultCount, //[out]
eCodeTypecodeType=CODE_TYPE_UNKNOWN,
bool        bEnablePOS=false
);



ICTCLAS_API bool ICTCLAS_ResultFree(LPICTCLAS_RESULT pRetVec);


ICTCLAS_API bool ICTCLAS_FileProcess(
 const char* pszSrcFileName,
 const char* pszDstFileName, 
 eCodeTypesrcCodeType=CODE_TYPE_UNKNOWN,
 bool        bEnablePOS=false
 );


ICTCLAS_API int ICTCLAS_ParagraphProcessAW(
const char*               pszText,
LPICTCLAS_RESULT  pResult,
eCodeType             codeType=CODE_TYPE_UNKNOWN,
bool                       bEnablePOS=false
);

#endif // ICTCLAS_LIB_




以上是头文件ICTCLAS.h
我在test.cc中包含了该头文件



#include <iostream>
#include "ICTCLAS50.h"

using std::cout;
using std::endl;

int main(void){
    return 0;

}


之后

g++ -c test.cc,

出错信息如下:
In file included from test.cc:2:
ICTCLAS50.h:67: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:70: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:73: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:76: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:82: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:88: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:91: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:99: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:109: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:112: error: expected constructor, destructor, or type conversion before ‘(’ token
ICTCLAS50.h:120: error: expected constructor, destructor, or type conversion before ‘(’ token



麻烦各位大大们帮忙看看,呵呵
[解决办法]
我直接调用Word的Ctrl-Right功能进行中文分词。


[解决办法]
还要把类文件加到工程中吧?关注下。
1L说的方法怎么用呀?
[解决办法]
具体是哪行?贴一下?
[解决办法]
晕,lib不是这样加进去的

热点排行