首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用QT5.1.1编译第三方框架

用QT5.1.1编译第三方框架
EN

Stack Overflow用户
提问于 2013-09-03 10:55:15
回答 2查看 584关注 0票数 0

我一直很高兴地在QT5.0中用第三方框架编译项目。升级到Qt5.1之后,链接器就找不到第三方框架了。

有一个Qt错误报告这里,但我看到项目已经关闭。在报告的末尾,有一条评论说:

要在/Library/ framework中构建和链接框架(应将以下内容添加到.pro文件中):

代码语言:javascript
复制
QMAKE_OBJECTIVE_CFLAGS += -F/Library/Frameworks
QMAKE_LFLAGS += -F/Library/Frameworks
QMAKE_LINK += -framework Foo

当我这样做的时候,它是没有效果的。另外,第三方框架是一个C++库,所以使用QMAKE_OBJECTIVE_CFLAGS不会有帮助。我试着用这个代替QMAKE_CXXFLAGS,但还是失败了。

此外,当将QMAKE_OBJECTIVE_CFLAGS和QMAKE_LINK添加到.pro文件时,Qt不会将它们突出显示为已知的编译器标志。

有谁知道如何解决这个问题,而不返回到Qt5.0呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-10 09:03:27

这里的问题是由于.pro文件在使用QT5.0时已经引用了第三方库,如下所示:

代码语言:javascript
复制
QMAKE_LFLAGS += -F /Library/Frameworks/otherlibrary.framework/
LIBS += -framework otherlibrary

我没有意识到,虽然QMAKE_LFLAGS包含到特定框架的路径,但它也需要通向框架根的路径:-

代码语言:javascript
复制
QMAKE_LFLAGS += -F/Library/Frameworks

加上这个解决了问题。

票数 0
EN

Stack Overflow用户

发布于 2013-09-09 15:13:40

你有点不清楚你到底在做什么,以及它是如何失败的。

如果您试图使用.cpp文件中的框架,确实需要设置QMAKE_CXXFLAGS += -F/Library/Frameworks,也可能需要设置QMAKE_CFLAGS ( bug报告中的示例假定框架公开了Objective绑定。我会纠正的)

尝试这样做,然后用日志重新打开bug报告,如果仍然失败的话,可以重新进行复制。

( qmake缺少的突出显示与之无关,它们仍然都是qmake变量。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18590477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档