cygwin dlopen错误:多字节或宽字符无效或不完整

时间:2017-07-11 18:08:57

标签: c++ cygwin shared-libraries dlopen

这是cygwin。

我有一个共享库,其中包含一些其他共享库和一些静态库。当调用dlopen()时,返回一个句柄,但是perror()返回NULL,带有"无效或不完整的多字节或宽字符"

显然我的图书馆内的某些内容失败了。我该怎么调试呢?有没有办法让dlopen告诉我哪个包含库或函数有问题?

1 个答案:

答案 0 :(得分:2)

两个问题:

  1. 即使功能没有失败,也要检查errnoerrno的值仅在前一个函数失败时定义。

  2. dlopen失败时,您不应该使用errnoperrorstrerror。您应该使用dlerror