当前位置: 代码迷 >> QT开发 >> 关于Qt中mingw的编译原理是如何样的,求大神解答!
  详细解决方案

关于Qt中mingw的编译原理是如何样的,求大神解答!

热度:105   发布时间:2016-04-25 03:36:38.0
关于Qt中mingw的编译原理是怎么样的,求大神解答!!!!!!
本帖最后由 trustguan 于 2013-10-27 15:01:25 编辑
最近要用到curl库,于是就下载了已经编译好的库,我用的是qt4.8.4,于是我把里面的.lib,.a文件复制到工程目录里面,然后把include也放在里面,接着在.pro文件添加LIBS,结果说找不到无法获得inferior的句柄: 参数不正确。于是我又把.lib文件复制到mingw里面的bin文件夹里面,这样就通过编译,于是这时候我把.pro文件里面的LIBS删除,这样就说没有找到那些函数。所以想问一下为啥会出现这样的情况,mingw编译的时候不是先要找工程目录里面的动态链接库的吗?还有一个问题是.a跟.lib有啥区别。


还有curl源码是怎么用mingw重新编译的,请大神指教

------解决方案--------------------
1. 下载编译好的库有时候问题比较多,最好自己拿源码编译一遍
2. gcc用的是.a,如果库的名字叫curl,那么用gcc编译好的库就应该叫做libcurl.a,LIBS里面要写-lcurl -L"库的路径"
    qmake有一根PWD变量,写-L的时候用起来很方便
3. 嫌麻烦可以直接用Qt Creator,右键项目,Add Library, 选External Library,唯一糟糕的地方就是只能选lib文件
4. MSVC 和 gcc的lib和a似乎是通用的,我以前试过。现在应该都是COFF格式。lib和a的唯一区别在于a是编译过的,打包好的二进制代码,而lib既可以像a一样是打包好的二进制代码,也可以是一个引入库,用来指明一个dll
  相关解决方案