首先,如果dll 中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果dll中只是一些C 函数,那么是可以互相调用的。

MinGW 生成dll时即使生成了 .a 文件也是不能用到VC 上的(至少我用的VC2010版本是不行了,表现为生成的程序 Debug模式下可以运行,但是Release 模式下却无法运行)。

如果生成dll时也生成的def文件那么可以这样:

比如我的dll 文件叫做 test.dll ,对应的def文件为 test.def

执行下面这条语句:

LIB /DEF:test.def /MACHINE:IX86

就会生成一个test.lib 文件,之后就可以在 VC 中使用了。

如果连def文件也没有,那么先要生成def文件,可以从网上下载一个小工具叫做pexports。

pexports.exe test.dll > test.def

之后在生成lib文件。

LIB /DEF:test.def /MACHINE:IX86

http://blog.csdn.net/liyuanbhu/article/details/44650641

VC 调用 MinGW 生成的dll good的更多相关文章

  1. c++builder调用VC的dll以及VC调用c++builder的dll

    解析__cdecl,__fastcall, __stdcall 的不同:在函数调用过程中,会使用堆栈,这三个表示不同的堆栈调用方式和释放方式. 比如说__cdecl,它是标准的c方法的堆栈调用方式,就 ...

  2. c++调用matlab生成的Dll动态连接库

    点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台:   matlab 7.0(R ...

  3. #Lua:Lua调用C++生成的DLL库

    Lua调用C++生成的DLL库 本文参考了某大佬的博客,写得十分详细,推荐!!! 需求: 在之前的求解器中添加了Lua库,使得程序可以在Lua脚本中实现自定义函数功能,考虑到未来可能需要与第三方程序库 ...

  4. C++调用C#生成的DLL文件的各种问题

    C++调用C#生成的DLL文件: 首先选择建立一个C#的类库,然后再按照需求编写需要的函数 之后,对于C++调用过程需要注意的几点: 1.使用#using <....some.dll>指出 ...

  5. 示例 - 如何在NodeJS中调用SS生成的DLL

    要想在NodeJS中调用SS生成的DLL, 需要借助EdgeJS. EdgeJS: http://tjanczuk.github.io/edge/ 如果你还不知道如何在SS中生成DLL, 请查看: S ...

  6. C#调用Matlab生成的Dll

    问题描述:最近开发需要调用matlab生成的DLL,在New MWNumericArray 对象的时候报错,提示未将对象引用到对象的实例. 问题分析:因为MWArray.dll是Matlab提供的DL ...

  7. python中使用ctypes调用MinGW生成的动态链接库(dll)

    关于gcc编译dll的我就不说了,网上举例一大堆,下面以g++为例. 假设有一个test.cpp文件如下: extern "C" { __declspec(dllexport) d ...

  8. Qt Creator调用VS2008生成的DLL注意事项 good

    问题:生成的dll文件QT无法静态/隐式调用 分析:调用的lib库可能是msvc编译的,而我用Qt调用,Qt默认编译器是minGW,两种编译器生成的函数名不一样,所以调用的时候你要用哪个函数,编译结果 ...

  9. 引用MinGW生成的.dll.a后出现的问题

    以前很少调用MinGW的运行时库,现在用到一个项目,用到了glib和gettext等. 遇到了一个问题,折腾了一个下午. gettext的运行时库之一是intl,MinGW只提供了.dll.a,于是参 ...

随机推荐

  1. spark cogroup算子

    java /** *cogroup与join算子不同的是如果rdd中的一个key,对应多个value,则返回<Iterable<key>,Iterable<value>& ...

  2. 【22.48%】【codeforces 689D】Friends and Subsequences

    time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  3. C# TimeSpan 时间计算

    原文:C# TimeSpan 时间计算 本文告诉大家简单的方法进行时间计算. 实际上使用 TimeSpan 可以做到让代码比较好懂,而代码很简单. 例如我使用下面的代码表示 5 秒 const int ...

  4. On-demand diverse path computation for limited visibility computer networks

    In one embodiment, a source device detects a packet flow that meets criteria for multi-path forwardi ...

  5. jQuery插件接口的实现,jquery.extend

    http://www.imooc.com/code/3403 如果jQuery没有插件接口的设计,那么他就像个光杆司令没有兵,就是没有手下,只有自己一个封闭的城堡.因此jQuery城堡需要设计一个大门 ...

  6. LaTex 加粗(加黑)的方式

    1. 基本 LaTeX技巧458:关于LaTeX数学字体加粗 $\mathbf $,会变为粗体,但也导致数学字母斜体形式的丢失: 使用 amsmath package 的 \boldmath 命令: ...

  7. 深度学习实战 Tricks

    1. 梯度消失与梯度爆炸 gradient clipping 梯度爆炸:min(grad_max,grad) grad_max:梯度上限 梯度消失:max(grad_min, grad) grad_m ...

  8. 简明Python3教程 4.安装

    如果你已经安装了Python 2.x,你不需要在安装Python 3.0前卸载Python 2.x.这两者可以共存. GNU/Linux用户和BSD用户 如果你使用类似于Ubuntu.Fedora.O ...

  9. C++ Primer Plus的若干收获--(十一)

    本篇主要讲了转换函数的利与弊以及简要介绍流与iostream文件 因为在本篇仍然要使用上篇的Stonewt类,这里首先给出其代码 <span style="font-size:18px ...

  10. matlab 高阶(一) —— assignin与evalin

    1. assignin assignin(ws, 'var', val) 将 val 值赋值给 ws 空间中的 var 变量,注意这里的变量,必须是 array 类型,而不可以是包含下标索引,如果在指 ...