你好,我现在用qt中要使用了一个vs2010编译的.lib静态库。

你好,我现在用qt中要使用了一个vs2010编译的.lib静态库。编译环境是mingw。我是按照LIBS+=D:/Test/mylib.lib这种方式添加的。可是编译通过... 你好,我现在用qt中要使用了一个vs2010编译的.lib静态库。编译环境是mingw。我是按照LIBS += D:/Test/mylib.lib这种方式添加的。可是编译通过不了。提示:error: undefined reference to `test(wchar_t*, wchar_t*, int)'。我想请教一下,我引入静态库的方式对不对?mingw是可以直接使用vs编译的静态库的么? 展开
 我来答
百度网友75967b7
2015-06-03 · TA获得超过1229个赞
知道小有建树答主
回答量:467
采纳率:100%
帮助的人:550万
展开全部
对于C语言而言,用于连接dll的连接lib是可以通用的,dll也是可以通用的。但是静态库目前而言并不是通用的,一般的处理方式是编译成dll,然后生成连接lib(a)库,引入项目,或者使用libtdl动态加载dll文件。
静态库不可通用的原因是,基础库相差太多,objdump甚至都无法识别使用vc默认选项编译出啦的obj文件格式。另外reimp不是用于这个用途的,是为dll的连接lib(a)文件提供转换的。

对于C++而言,所有二进制代码都是不可通用的,毕竟名称修饰都相差甚远。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式