我有一套SDK,有好多头文件,用到了LPCTSTR,但是是多字节方式编译的,现在我想建一个UNICODE项目,要用到这些头文件,这时就会冲突,有没有办法只让这些头文件使用多字节方式编译,其它的按UNICODE方式编译?

解决方案 »

  1.   

    把那个头文件里所涉及的内容再包一个dll。。
      

  2.   

    unicode与ansi可任意混用,但是使用LPCTSTR的参数是不行的,一般在unicode大环境下局部使用ansi,或者反过来,前提是显式声明使用WCHAR或char,不能用TCHAR。
      

  3.   

    查找替换, 把所有的 LPCTSTR 替换成 LPCSTR
      

  4.   


    转换层每个函数对应你sdk头文件的每个函数,只是接口都是unicode的,实现里把unicode参数转换成ansi的再调你SDK的函数即可。和windows同时支持ansi和unicode版本函数是一个道理。