【问题标题】:cygwin dlopen error: Invalid or incomplete multibyte or wide charactercygwin dlopen 错误:多字节或宽字符无效或不完整
【发布时间】:2017-07-11 18:08:57
【问题描述】:

这是 cygwin。

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

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

【问题讨论】:

    标签: c++ cygwin shared-libraries dlopen


    【解决方案1】:

    两个问题:

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

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

    【讨论】:

    • 谢谢!这就是我需要知道的。
    猜你喜欢
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多