精华内容
下载资源
问答
  • c++调用动态库失败解决办法

    千次阅读 2017-09-04 16:09:44
    在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个...

    之前写好的程序今天早上过来发现在服务器上出错了,于是就各种查问题,整整一个早上外加下午两个小时都在查这个问题,最终被我找到了问题;

    在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个动态库,导致程序在加载过程中出现了错误,现在才回想起来,之前因为新需求,在原有的动态库上添加新功能,从而调用了另外的一个库,但是在更新服务器程序的时候忘记把最后依赖的动态库更新到服务器上,因此才出现了这个问题,问题虽小,但是也算是一个教训吧,以后一定会记住的。

    如果程序动态库调用失败,我个人觉得首先就行该查看一下这个库是不是依赖其他的库,在此可以借助Depends查看,如果都不缺,那么就应该查看导出函数的导出方式和主调程序的声明方式是否一致,最后就是确定调用库函数的接口参数是否有问题了。

    这里是Depends下载地址:http://download.csdn.net/download/github_37567324/9966289

    展开全文
  • C++动态库返回char*C#调用失败问题

    千次阅读 2015-03-13 16:18:35
    用C++写了一个动态库,返回一个结构体,结构体中包括char*类型的数据,在c#中用string类型接收时报错”方法的类型签名与 PInvoke 不兼容“。终于找到了解决办法。

    用C++写了一个动态库,返回一个结构体,结构体如下:

    typedef struct
    {
    unsigned long Width;
    void* pixelData;
    char* modality;
    }rreadData;

    在用C#调用时,用如下结构体接收:

    public struct readData
        {
            public UInt32 Width;
            public IntPtr pixelData;
            public string modality;
        };

    总是报错:方法的类型签名与 PInvoke 不兼容。

    试了好多方法,都不行,最后看到有网友说用IntPtr代替string,于是将C#结构体改成如下:

    public struct readData
        {
            public UInt32 Width;
            public IntPtr pixelData;
            public IntPtr modality;
        };

    这样就不报错了,可是这样在结构体中就没有获取需要的值,再经过如下转换即可:

      string modality = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(readData.modality);

    记录下来,希望能帮到遇到同样问题的人。

    展开全文
  • 问题描述: 编译了一个动态库调用的时候没有调用我写的静态库中(openssl)的函数 问题解决: 编译动态库的时候添加 -Wl,-rpath=libdir

    问题描述:
    编译了一个动态库,调用的时候没有调用我写的静态库中(openssl)的函数

    问题解决:
    编译动态库的时候添加 -Wl,-rpath=libdir
    在这里插入图片描述

    展开全文
  • 需要把动态库放到Assets下的Plugins文件夹下的这些操作就不细说了,网上一搜一大堆,我的问题是,由于我的动态库链接了zlib的动态库,可能是unity对zlib的加载有问题,如果出现加载不了的情况,及其有可能是c++动态...

    需要把动态库放到Assets下的Plugins文件夹下的这些操作就不细说了,网上一搜一大堆,我的问题是,由于我的动态库链接了zlib的动态库,可能是unity对zlib的加载有问题,如果出现加载不了的情况,及其有可能是c++动态库加载了其他不兼容的动态库,我在项目里面把依赖的动态库都改成了静态加载。

    如果是需要给别人用的话,c++动态库最好是用MTD的运行库发布,采用静态加载运行时库,项目属性->c/c++/代码生成/运行库/多线程调试(MTd)

    这个问题就解决了!这个问题折磨了我两天时间,写下来记录一下,希望有帮助。

    展开全文
  • linux下so动态库调用主程序函数

    千次阅读 2020-08-27 10:06:46
    linux下动态库 今天无意间发现在linux下share object(dynamic library)中的函数竟然可以不通过回调的方式直接访问主程序中的函数,瞬间颠覆以前对于动态库的观念. 1、如代码所示libhi.so中有一个函数hello, 主程序...
  • VS下动态库dll的显式调用(动态调用)

    千次阅读 2017-09-14 16:18:37
    VS下动态库dll的显式调用 动态库的加载分两种形式:分为静态加载和动态加载。静态加载时,对应的头文件、DLL,和LIB缺一不可,并且生产的EXE没有找到DLL文件就会导致“应用程序初始化失败”。动态加载只需要dll,...
  • c++动态库生成与调用

    千次阅读 2016-04-12 08:47:12
    一、生成动态库(含头文件、不含头文件) 以生成dllTest.dll为例...我们生成的动态库想要被别人调用,那么一定要将想要被调用的函数导出,使用_declspec(dllexport)进行导出。 //dllTest.cpp _declspec(dllexport) int
  • 动态调用动态库的方法

    千次阅读 2015-12-23 10:32:10
    登录 | 注册 罗马非一日建成 能成功的人多少都有一份坚持~~ ...动态调用动态库方法 | from web 标签: dll编译器classwinapilibrarynull 2011-11-10 21:01 684人阅
  • 动态库和静态库调用前的准备工作: 建立D:\\cximage文件夹(任意) 组织结构如下 D:\\cximage |-----include |-----lib  |--debug  |---release 将D:\\cximage702_full\CxImage文件夹下的所有头文件...
  • 关于动态调用动态库方法说明

    千次阅读 2014-07-25 00:36:56
    关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数)。可以事先对这些函数进行...
  • 调用动态库导致符号无法解析错误

    千次阅读 2016-10-16 10:20:41
    lib或dll引入失败(静态库或动态库配置问题) 调用动态库的情况下,跨工程引入头文件导致的符号解析错误 对第三种情况进行详细说明  较为大型的项目常常会设置较多个工程,以其中一个工程为主工程(包含main函数)...
  • 场景描述:使用vs2013封装c/c++代码为native.dll文件,在java项目中调用出现调用失败情况java项目调用dll文件的两种方式方式一:System.loadLibrary(“native”); 1 只显示名称,目录路径和后缀.dll不需要 2 动态...
  • 动态调用动态库方法 .so

    千次阅读 2012-03-28 10:38:36
    关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数)。可以事先对这些函数进行...
  • java使用jna调用动态库踩的坑

    千次阅读 2019-07-19 23:44:51
    回顾去年项目需求上需要使用算法封装好的动态库,楼楼使用的是jna调取动态库。开发过程中,就是一个爬坑之旅,在此记录下爬过的坑。 1.位数问题 使用jna需要关注到动态库位数,服务器系统位数,为此选定合适的jdk。...
  • 使用GetProcAddress从动态库调用函数

    千次阅读 2019-01-25 10:22:38
    使用GetProcAddress从动态库调用函数 编者:李国帅 qq:9611153 微信lgs9611153 时间:2011-8-25 9:46:56 背景原因: 有时候,我们不希望获取到dll之后,显式调用里面的函数,下面就以“从User32.dll调用...
  • linux动态库类的调用

    千次阅读 2016-06-15 18:18:09
    关于动态调用动态库方法说明  一、 动态库概述  1、 动态库的概念  日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数)。可以事先对这些函数...
  • java调用C++ 动态库方法

    千次阅读 2019-04-11 15:15:06
    最近一个项目要开发网页端人脸识别项目,人脸识别的算法已经写好,是C++版,但是网页端要求使用Java后台,这就涉及到Java调用DLL的问题。经过查找,实现了一个简单的例子。 1、第一步,先在Java中新建一个类   ...
  • QT 动态库加载失败

    千次阅读 2014-11-12 14:39:50
    手动封装DLL,然后通过Qlibrary 加载,老是提示 ...最终解决方法是查看调用动态库依赖其他的库文件,但是调用目录没有放置它依赖的库文件,我这里是需要串口的动态库,将库考到程序执行目录OK,问题解决!在此记录
  • 库的种类:静态库和动态库 在windows平台下静态库后缀为.lib ,在linux 下后缀名.a。 静态库在被调用时,要将头文件和.lib文件拷贝到你的工程下,静态库工作时,会把整个库到考入你的目标文件中,所以在生成可执行...
  • Linux下动态库是.so文件。 Qt嵌套在visual studio时,编译器是MSVC,而Qt Creator的编译器是MinGW,针对MSVC和MinGW这两种编译器,作个简单的介绍: MSVC是指微软的VC编译器。 MinGW是指是Minimalist GNU on ...
  • DLL动态库嵌套跨级调用问题

    千次阅读 2018-10-17 18:46:12
    在应用过程中,动态库调用动态库是常见操作。其在理论上可行,实施也相对简单,调用层次关系如下: App主程序---(同目录)--->DLL_A------(同目录)----->DLL_B&DLL_C 图1 调用层次关系 针对...
  • 安卓App在启动或运行时经常会遇到.so动态库加载失败的情况,其中具体分2种情况: 1.在程序启动时加载失败,这时候就需要用Relinker去重新加载,可以看我的另外2篇博文:Relinker源码分析、Android安卓本地库加载程序...
  • MATLAB调用非MEX类型动态库

    千次阅读 2015-04-18 17:05:00
    在matlab命令行下调用现有的动态连接即Dll文件,即非...但是这样的动态连接占多数,因此知道调用方法还是必要的。  Matlab加载并调用,关闭Dll通过loadlibrary/calllib/unloadlibrary  一般在windows下开发DLL程
  • Linux下C如何调用动态库

    千次阅读 2014-03-20 08:06:51
    首先生成一个测试用的动态库,代码如下myso.c #include void Hello() {  printf("Hello\n"); } char * Func(char *cstr_name) {  return cstr_name; } 编译成动态库 gcc -shared ...
  • node.js调用动态库

    千次阅读 2017-07-05 17:58:41
    网上找了一大堆,看起来都是可行的,实践时有很多问题,后边在列出部分问题,这里只说一下解决,那就是...C++ 动态库的程序 官方提到了,最重要的就是下面这里。 void Initialize(LocalObject> exports); NODE_MODU
  • LoadLibrary加载动态库失败的解决办法

    千次阅读 2018-11-06 23:38:00
    方式一:LoadLibraryEx ... 若DLL不在调用方的同一目录下,可以用LoadLibrary(L"...但若调用的DLL内部又调用另外一个DLL,此时调用仍会失败。解决办法是用 LoadLibraryEx,通过指定 LOAD_WITH_ALTERED_SEARC...
  • QT调用DLL库失败原因总结

    千次阅读 2019-08-22 21:28:13
    前段时间我想用QT调用外部dll里面的函数,并且没有.h头文件和.lib静态。 发现有时候调用不成功,举例说明我的代码如下: typedef int (*Fun)(); QLibrary testLib("Protocol.dll"); //已把dll放在debug中 if ...
  • C++调用C#动态库

    千次阅读 2019-09-04 23:04:12
    三、在C++项目中调用动态库 void use() { int **p = NULL; ... typedef char* (*pfnGCO)(int **obj); pfnGCO fnGCO = NULL; HINSTANCE hdllInst = LoadLibrary(L"Mylib.dll"); //加载dll if (NULL == ...
  • 先找到动态库的.dll和.lib文件并将其导入到同源文件相同级别的文件夹下面,然后在添加进其头文件,并右击项目处,然后点击链接,链接我们的lib文件(一定要是全名称包括扩展名),然后我们就可以调用动态库的函数了...
  • linux 调用动态库so文件

    万次阅读 2012-05-02 14:55:09
    关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数)。可以事先对这些函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,452
精华内容 54,980
关键字:

动态库调用失败