cygwin dlopen error: Invalid or incomplete multibyte or wide character

cygwin dlopen error: Invalid or incomplete multibyte or wide character

这是 cygwin。

我有一个共享库,其中包含一些其他共享库和一些静态库。当调用 dlopen() 时,返回一个句柄,但是 perror() returns NULL with "Invalid or incomplete multibyte or wide character"

显然我的图书馆里有什么东西出了问题。我该如何调试呢?有什么方法可以让 dlopen 告诉我哪个包含的库或函数有问题吗?

两个问题:

  1. 您检查 errno 即使函数没有失败。 errno 的值仅在前一个函数失败时定义。

  2. dlopen fails. You should be using dlerror.

  3. 时,您不应使用 errnoperrorstrerror