zoukankan      html  css  js  c++  java
  • VC生成lib的_stdcall函数名与mingw生成的不一致

    Qt Creator在Windows系统中,怎样链接VC生成的动态链接库

    这个问题曾经困扰了我一整天。我想的是按照VC中的方法,增加include文件,增加lib文件,然后编译即可。谁知链接时总是出现问题。提示是undefined reference to XXXXX。查了手册和网络,原来这是mingw用户在windows上经常遇到的问题,而且好像至今没有完美的解决方案。这个错误的起因是因为VC生成lib的_stdcall函数名与mingw生成的不一致。一种解决方案是使用libdll等工具生成新的用于mingw的lib,另一种解决方案是把代码全拿过来重新编译(汗)。

    最后我也不知道为什么自己试出来一个新的方法,这个方法尚未从技术上找到原因。也未经过广泛的测试。有兴趣的TX可以试试。

    如果你要链接到一个abc.lib文件,头文件是abc.h,动态链接库是abc.dll。那么在pro文件中先加入下面一行

    INCLUDEPATH += D:/Qt/include

    INCLUDEPATH是一个编译变量,存储了所有包含include文件的路径,这个目录下保存了abc.h文件。然后再加入下面一行:

    LIBS += D:/Qt/bin/abc.dll

    LIBS也是一个编译变量,存储了所有需要链接的库文件。看清楚了,不是“abc.lib”哦,是“abc.dll”。神奇吧,这样居然可以链接成功了(lib文件可以删了)。喜欢研究的TX可以研究研究mingw究竟是怎么做的。

    http://blog.csdn.net/superjoel/article/details/5314225

  • 相关阅读:
    IOS触摸事件
    IOS中内存管理机制浅解
    Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法
    block使用小结、在arc中使用block、如何防止循环引用
    __block的作用
    ios中键值编码kvc和键值监听kvo的特性及详解
    ios多线程开发的常用三种方式
    Xcode7连接网络设置
    不能弹出虚拟键盘的解决办法
    【测试工具】moco入门(一)
  • 原文地址:https://www.cnblogs.com/findumars/p/5089837.html
Copyright © 2011-2022 走看看