gpt4 book ai didi

c++ - 具有多个库和一个 exe 的 QtCreator 项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:37 24 4
gpt4 key购买 nike

正如我在上一个问题中所说,我正计划将 Qt 项目从 VC++ 移植到 QtCreator。

该项目由 4 个子项目组成:其中 3 个是库,最后一个是 exe。子项目是分层的,这意味着每一层都具有与其下层的编译和链接时间依赖性。

文件组织如下:

root
lib1
lib2
lib3
main

我在 QtCreator 中从头开始创建了每个子项目。每个文件夹都包含一个同名的 pro 文件(例如:lib1 -> lib1.pro)。使用这种方法,我已经构建了所有项目,除了最后一个必须链接可执行文件的项目。我遇到了链接器错误,我通过手动编辑 pro 文件并添加以下代码修复了这些错误:

LIBS +=  ../path/lib1.a \
../path/lib2.a \
../path/lib3.a

一切都很好,除了现在 lib3 提示它无法从 lib2 和 lib1 中找到符号。将 LIBS 添加到 lib2.pro 文件不起作用。

我有一种感觉,我不了解 QtCreator 使用库和可执行文件的方式。您将如何组织这样的项目以使其正确编译和链接?

最佳答案

在进一步研究这个问题之后,我想起对于 GCC 工具链来说,链接器参数的顺序很重要。

反转 LIBS 条目就成功了。

关于c++ - 具有多个库和一个 exe 的 QtCreator 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com