欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Qt 静态库链接问题

Qt 静态库链接问题

2024/10/23 23:28:12 来源:https://blog.csdn.net/qiukongjian/article/details/142992293  浏览:    关键词:Qt 静态库链接问题

最近在工程项目中,遇到qt在使用静态库时,总是不能链接的问题。不是只有一个静态库,而是多个静态库,嵌套依赖,不是单层结构。操作系统为某麒麟系统。比如静态库名称为MyLib,那么在MyLib的pro文件中应该加入下列一行,同时修改导出宏为空

CONFIG += staticlib 
DEFINES+= INSIDE_MYLIB

同时应该在某个头文件中定义

#ifdef MYLIB_STATIC
#define MYLIB_EXPORT 
#else
///...动态库导出定义
#endif

在使用静态库的app或则dll工程中增加如下代码行:

LIBS+=-L$$XXX/XXX  -lMyLibPRE_TARGETDEPS+=$$XXX/XXX/libMyLib.a

原则上觉得上述代码可行,可是当静态库层次较多时,就是链接错误,怀疑过依赖顺序。问题是同样的代码和配置方式,windows就可以顺利编译,某麒麟就是不行。最终定位到:pro文件少了一个关键。在静态库pro文件中增加如下定义:

CONFIG+=create_prl

在调用静态库的app或dll的pro文件中增加如下定义:

CONFIG+=link_prl

至此完美解决问题。我自己因为只想生产一个app,因此只在app中增加了link_prl。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com