问题:在VC中定义了一个函数
extern "C" __declspec(dllexport) int test(const char* filename)
filename中可能有中文。
Lazarus调用test传英文没问题,传中文出错。
1、在VC项目设置-高级中 选择“使用 Unicode 字符集” --这个也是VC的默认值
2、在lazarus中在项目设置-编译器选项-附加和覆盖-使用系统编码 选中所有的构建模式
就可以正常传带中文的字符串了
20240321 更新方法二(推荐)
引用,LazUTF8单元
用UTF8ToWinCP转换后可以被VC的dll读取