问题:在VC中定义了一个函数

extern "C" __declspec(dllexport) int test(const char* filename)

filename中可能有中文。

Lazarus调用test传英文没问题,传中文出错。

1、在VC项目设置-高级中 选择“使用 Unicode 字符集”   --这个也是VC的默认值

2、在lazarus中在项目设置-编译器选项-附加和覆盖-使用系统编码 选中所有的构建模式

就可以正常传带中文的字符串了

 20240321 更新方法二(推荐)

引用,LazUTF8单元

用UTF8ToWinCP转换后可以被VC的dll读取

posted on 2024-03-19 20:24  禁卫军  阅读(74)  评论(0编辑  收藏  举报