社区
C++ 语言
帖子详情
请问mingw如何调用vc的lib、dll
code_hello
2011-03-20 03:54:39
RT
mingw想用skinsharp,请问该怎么办?
...全文
1048
5
打赏
收藏
请问mingw如何调用vc的lib、dll
RT mingw想用skinsharp,请问该怎么办?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Terabit
2011-10-17
打赏
举报
回复
烦人啊。。dll还好办,但是静态链接库的话,MINGW 和VC弄出来的还不一样
Erorr
2011-04-03
打赏
举报
回复
mingw是模拟linux的,不能和vc里面的.dll,.lib混用,要用.a和.so
pengzhixi
2011-04-02
打赏
举报
回复
C++没有统一ABI所以这方面是一个缺陷吧
code_hello
2011-04-02
打赏
举报
回复
[Quote=引用 1 楼 xunxun1982 的回复:]
如果这个dll是C语言编写的可以调用,C++的就不用想了(因为会生成长长的前缀,gcc和vc处理不一样),没办法。
对于lib,什么语言写的用gcc调用都麻烦。
[/Quote]
哦
xunxun
2011-03-20
打赏
举报
回复
如果这个dll是C语言编写的可以调用,C++的就不用想了(因为会生成长长的前缀,gcc和vc处理不一样),没办法。
对于lib,什么语言写的用gcc调用都麻烦。
VC
调用
MinGW
生成的
dll
首先,如何
dll
中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果
dll
中只是一些C 函数,那么是可以互相
调用
的。
MinGW
生成
dll
时即使生成了 .a 文件也是不能用到
VC
上的(至少我用的
VC
2010版本是不行了,表现为生成的程序 Debug模式下可以运行,但是Release 模式下却无法运行)。 如果生成
dll
时也生成的def文件
VC
调用
MinGW
生成的
dll
(未测试)
首先,如果
dll
中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果
dll
中只是一些C 函数,那么是可以互相
调用
的。
MinGW
生成
dll
时即使生成了 .a 文件也是不能用到
VC
上的(至少我用的
VC
2010版本是不行了,表现为生成的程序 Debug模式下可以运行,但是Release 模式下却无法运行)。 如果生成
dll
时也生成的def文件那么可以这样: 比如我的
dll
文件叫做 test.
dll
,对应的def文件为 test.def 执行下面这条语句:
LIB
mingw
编译可供
vc
连接库的Makefile. dumpbin 产生 def,进而产生
lib
使用
mingw
编译一个ffmpeg 库,想使用自己的内存分配函数,需要在 configure 里指定 --malloc-prefix= , 然后增加 --extra-ldflags= 把你自己的内存函数库指出来。 在编译完自己的内存库给ffmpeg
调用
之后,这些内存库函数有可能还要被
vc
里的源文件
调用
,所以要编译一个可供
vc
调用
的库。 下面就是这个目的地makefile。 直接上
QT调
VC
的
DLL
实验总结
Qt5中动态链接库的创建和使用
命令行编译程序 MS
VC
vs.
MinGW
之 (
lib
,
dll
,def,obj,exe) vs (a,
dll
,def,o,exe)
MinGW
: c -> o gcc -c a.c c -> exe gcc a.c
lib
s.o -o a.exe (从主程序a.c,附加
lib
s,生成a.exe) o -> exe gcc a.o b.o ... -o main.exe c ->
dll
,def,a gcc a.c -shared -o a.
dll
-Wl,--ou
C++ 语言
65,214
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章