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

  • 相关阅读:
    TiDB基本简介
    flink双流join
    Kafka客户端内存缓冲GC处理机制--客户端内存
    shell常用命令大全[bigdata版]
    kafka channel的parseAsFlumeEvent解析event
    hdfs的写流程以及namenode,datanode挂掉后处理
    [转载]LSM树由来、设计思想以及应用到HBase的索引
    HBase之写流程与读流程
    HBase之写流程中的刷写时机
    HBase之读写流程中WAL机制
  • 原文地址:https://www.cnblogs.com/findumars/p/5089837.html
Copyright © 2011-2022 走看看