2 iamsuyuhui IAMsuyuhui 于 2017.09.13 16:11 提问

VC使用动态库接口函数的问题

目前做的项目需要用到视频监控,公司从网上购买了摄像头,然后根据他们提供的SDK进行开发,在同事电脑上可以运行的程序拿到我的电脑上就报0xc000007b,请求各位大神告诉我如何知道缺少什么东西,已经被折磨四个 小时了,在线等 急。。。

8个回答

is_captain
is_captain   2017.09.13 16:31
已采纳

有没有调用到dll,如果有的话检查一下dll,32位环境的dll和64位环境的替换后在运行试一下,如果还不行那可能就是其他地方的问题。

oyljerry
oyljerry   Ds   Rxr 2017.09.13 16:13

缺少依赖的VC运行时库等,你的电脑是否有安装VC的运行环境。把开发机器上对应的VC redistribution安装一下

oyljerry
oyljerry 那就是否有其他依赖的第三方库。也要带上
10 个月之前 回复
IAMsuyuhui
IAMsuyuhui 我就是用VS2013做开发的 环境应该不存在问题。
10 个月之前 回复
qq_24112277
qq_24112277   2017.09.13 16:40
sinat_36503088
sinat_36503088   2017.09.13 17:07

用release编译才能在别人的机子上运行

sinat_36503088
sinat_36503088   2017.09.13 17:09

用release编译源码

j_s_3721
j_s_3721   2017.09.13 23:22

这个基本就是使用的库的问题, 请使用类似Dependency Walker的工具检查:
1. 所用库是X64还是X86, 要一致;
2. 所用库是否缺少依赖的库 ;

3. 所用库版本,如Windows上的C++ redistribution版本 ;
4. 所用库在工程路径设置;
5, 编码错误

what951006
what951006   Rxr 2017.09.14 08:09

你的电脑重装你同事的VS,不行你找我!

IAMsuyuhui
IAMsuyuhui   2017.09.14 08:32

问题找到了 那个厂家给了他两个版本的SDK 他给的我那个库有问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于Vector等STL容器作为dll函数接口参数的问题
今天跟同事遇到了一个问题,问题背景: 一个动态库Tst.dll; 一个应用程序App.exe; App.exe调用Tst.dll,其中动态库接口有个输出参数是vector vtLst;   问题: 发现每次vtLst这具vector变量析构的时候程序崩溃。 最终发现是App.exe工程的属性设置导致的由原来的Multi-threaded Debug (/M
Qt调用DLL动态库接口函数程序崩掉
工作中使用Qt开发,调用外部动态库.dll,在调用接口函数时总是运行之后崩掉,提示段错误!单步调试总有变量被意外改动,弄了两天在同事的帮助下解决! 方法如下:在定义接口函数指针时添加  _stdcall,它的缺陷是只能运行在windows平台,不能跨平台 typedef _stdcall int (*Func_WtDev_AxisCount)(int VehicleID); 问
VC++静态库以及动态库编程以及使用
VC++程序开发中,我们经常要用到第三方的静态库或者动态库。 1.静态库使用,我们可以使用自己编译的lib库或者第三方lib库,只要把lib 文件和头文件放在当前工程,lib文件可以通过#pragma comment(lib,"DLLTest.lib") 或者通过vs编辑器加载,使用lib库时生成.exe文件时,不需要依赖其他文件,当然这样子 生成的.exe文件就会偏大。
vc下使用def文件导出动态库
1、新建test工程,配置类型选择动态库(.dll) 2、加入工程代码 int __stdcall add(int a, int b) { return a+b; } int __stdcall sub(int a, int b) { return a-b; }3、增加test.def文件,描述如下 LIBRARY test EXPORTS add @ 1 s
动态链接库详解【一】
一、分别编译与链接(Linking) 大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别编译。在编译之后,由链接器把这些独立的片段(称为编译单元)“粘接到一起”。(想想这样做有什么好处?) 在C/C++中,这些独立的编译单元包括obj文件(一般的源程序编译而成)、lib文件(静态链接的函数库)、dll文件(动态链接的函数库)等。 静态链接方式:在
使用mingw编译可以让VC使用的动态链接库的ffmpeg
1,下载编译环境 msys & mingw (可以到google code  中找,有支持中文的合集) 解压下来就可以直接用了 2,配置 msys & mingw 在 etc 目录中 找到 fstab 文件 添加 mingw目录项 如 C:\MSYS\mingw  /mingw 3, 在msys.bat  开头加上 VC的环境设置  如 Call "D:\Program File
VC++动态连接库详解
1.概论    先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该
VC++加载动态库和静态库
静态库包括.lib和.h文件,在工程中使用静态库分为3步:1在工程中加入静态库,有两种方法:方法一:项目设置中引用.lib,project-setting-link-object/library modules中添加.lib;(需要在tools/options设置正确的引用路径)方法二:在项目中直接加入lib,project-add to project-files,选择正确的.lib
QT 调用动态库接口方法
我们在做大型项目的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,比如动态库,这样还可以对项目进行分工,加快项目的进度。下面就是qt 调用动态库接口的方法。首先编译一个简单的动态库接口文件Test.dll 新建一个普通的qt项目,代码如下:#include "tes
VC++创建和调用动态连接库的方法
VC++动态连接库创建和调用