如题,已知动态库的实现为非unicode,上层调用程序为unicode.动态库的函数接口定义为 XXXX( TCHAR* szFileName, ......)在上层调用时,
定义了变量char XX[256], 先将实参的unicode转化ANSI,存放到XX中,再调用接口,但是现在接口会返回错误cannot convert parameter 1 from 'char [260][260]' to 'TCHAR [][260]'请问,遇到这种动态库调用的话,有什么解决办法?

解决方案 »

  1.   

    补充一句,问题就是char跟TCHAR的不匹配
      

  2.   

    在非UNICODE动太库外面加层动态库。
      

  3.   

    导出dll函数的头文件,直接char*看报错不?
      

  4.   

    由于动态库里不是Unicode,所以它里面的TCHAR就是char,所以在你的调用者程序里,函数指针的声明处,需要使用char,而不是TCHAR,即XXXX( char* szFileName, ......)这样才行。然后自己再做相应的数据类型转换。