关闭

qt静态链接库心得

标签: qt开发用户体验链接静态库 库文件
107人阅读 评论(0) 收藏 举报
分类:

今天在工作上要调用别人的函数,故而用到了静态链接,网上方法挺多的就不赘述了,只是来说说自己的大概情况。


pro文件里面添加

LIBS     +=My_path/libwaveformGEN.a   //路径要一致,否则会报错找不到该文件

然后我就报了三行错


 relocation R_X86_64_PC32 against symbol `ceil@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC

 final link failed: Bad value

collect2: error: ld returned 1 exit status


看样子是编译可选项目里没有-fPIC

于是又加了

QMAKE_CFLAGS    +=  -fPIC
QMAKE_CXXFLAGS  +=  -fPIC

然后依然还是原来的错误。。。后来网上各种找啊。。


后来怀疑是不是编译.a文件没有添加-fPIC


先扔个背景, 我要调用的静态链接库是带我的前辈写的,之前用codeBlock一点问题没有,让我回去自己检查检查    说白了就是他觉得代码能跑问题肯定不在这。。。(前辈喊不动。。而且他也忙  然后就这么耗着。。)


但是我用的是Qt5的开发,区别和codeBlock有点大。。。最废了不少口舌才让他添加-fPIC重新编译了一个新的.a 文件  最后rebuild下


调用头文件因为是C语言写的

所以

extern "C"
{
#include "yourFileName.h"
}

然后就成功了

。。


0
0
查看评论

Qt之创建并使用静态链接库

摘自维基百科: 静态链接库(Statically-linked library),或称静态库,是一个外部函数与变量的集合体。静态库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与连接器将它集成至应用程序内,并制作成目标文件以及可以独立运作的可执行文件...
  • u011012932
  • u011012932
  • 2017-08-21 15:53
  • 3239

使用Qt创建动态和静态链接库

一、创建静态链接库 静态链接库是将函数和数据编译成的一个二进制文件,Linux下的静态链接库是*.a文件,而在Windows下的静态链接库是*.LIB文件。编译器在连接的时候会恢复静态库文件中的函数和数据,并将它们和应用程序中的其它模块组合在一起生成可执行文件,因此,体积比较大。 ...
  • hulifangjiayou
  • hulifangjiayou
  • 2015-05-17 20:34
  • 2232

如何在Qt中写自己的静态连接库

如何在Qt中写自己的静态连接库 1 在Qt中写自己的静态链接库 1.1 创建LIB库项目 新建,选C++库 选择静态链接库 1.2 编写代码 头文件: 源文件: 1.3 构建LIB项目 ...
  • u012496241
  • u012496241
  • 2016-07-21 15:03
  • 1087

Qt 5.6.1 + vs2013 加载自己编写的静态链接库

一、编译自己编写的静态链接库博主默认大家已经将 VS2013 与 Qt 配置成功,没有配置成功的,自行在网上搜索1、创建 Qt 新项目,如下2、创建完项目后,右键你的项目属性,如下将配置类型更改为 静态库(.lib)3、编写一个自己的例子,这里博主编写了一个具有 “两个 float 类型数的求和” ...
  • popper0912
  • popper0912
  • 2017-06-20 14:33
  • 542

Qt编程 的一些心得总结

一. 背景刷成黑色,前景色设为白色。 方法一、paltette方式,经测试,该方法不会影响到其他控件,推荐使用 QPalette bgpal = palette(); bgpal.setColor (QPalette::Background, QColor (0, 0 , 0, ...
  • pizi0475
  • pizi0475
  • 2011-12-19 19:57
  • 1337

MAC 平台使用qt 静态链接boost 库问题

boost 库是自己编译的,64位的静态库。但是在使用QT 的时候,静态链接总是失败。 把QT 工程转成xcode 功能之后链接也失败,但是失败的信息更详细一些。 猜测应该是标准模板库链接出问题了,这个还真是从来没见过,然后再XCode 里面折腾了好久,终于发现一...
  • inforecovvery
  • inforecovvery
  • 2015-08-19 16:32
  • 564

C++中静态链接库创建与使用

演练:创建和使用静态库 (C++) Visual Studio 2013 其他版本 此分步演练演示如何创建用于 C++ 应用的静态库(一个 .lib 文件)。 使用静态库是重用代码的一种绝佳方式。 你不必在要求...
  • wzhwhust
  • wzhwhust
  • 2016-11-24 16:04
  • 1268

QT(MinGW)静态库+Opencv静态编译

网上很少能找到这方面的资料,我也是Google的英文资料,花很长时间才搞定。 第一步,是QT的静态库。这个资料在网上很好找,基本上就是下载源码,自己编译。 http://blog.csdn.net/ahyswang/article/details/39242075。 主要是花时间比较久。当然也可以下...
  • king7474974
  • king7474974
  • 2015-02-08 23:03
  • 1649

VS2013下的静态链接库和动态链接库的创建和使用

建立控制台程序,静态链接库还是动态链接库,项目配置属性里改成对应的即可。 静态库编译之后会生成对应的.lib文件,在工程A中使用时,配置A的属性, 1、配置属性 == 》C/C++  ==》常规  附加的include 路径里,添加头文件所在的路径。 2、配置属性 == 》链接...
  • zhouguoqionghai
  • zhouguoqionghai
  • 2015-06-12 08:15
  • 6065

静态链接库的编辑和使用

一、基本概念 静态链接库和动态链接库都是经过编译的二进制文件,window下的后缀分别是.lib和.dll;在linux下的后缀分别是.a和.so。 在windows下写程序的时候常常会用到别人写的.lib和.dll 等库文件。库文件的好处是对源代码进行保密,减少重复编译时间,增强程序的模块化。 使...
  • u013213396
  • u013213396
  • 2015-02-05 01:32
  • 1842
    个人资料
    • 访问:3623次
    • 积分:136
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条
    文章分类