使应用依赖于基于qt的库
CMake app dependency on Qt-based library
我将描述我的CMake项目目前如何安排。时间还早,欢迎提出更好安排的建议。
App依赖于Lib1libb1依赖于libb2libb2使用Qt
文件夹结构:
- 顶级
- Lib1
- Lib2
- 应用
- Lib1
我有CMakeLists.txt在每个级别。
在Lib1中我add_library (STATIC),然后在Lib2中target_link_library(也是STATIC)
Lib2的CMakeLists.txt为Qt5Widgets, Qt5Core和Qt5Gui执行find_package调用。
最后,App的CMakeLists.txt执行add_executable,然后是Lib1的target_link_libraries。
一切都编译和链接,直到我在应用程序代码中实际调用使用Lib2中的函数。然后我得到一堆未解决的符号链接器错误指向从Lib2的函数。如果我使Lib2成为一个对象库并相应地更改Lib1中的链接,这似乎并不重要。我还尝试将应用程序链接到Lib1和Lib2,结果相同。
我在这里做错了什么?
Find_packages只是用库位置填充变量。
您需要在Lib2上与Qt5Widgets, Qt5Core和Qt5Gui一起target_link_libraries,以便cmake可以正确链接它们。
相关文章:
- 当我使用 GUI 开发 QT 动态库时,如何查看我的 QT UI?
- 我可以在编译Qt应用程序的同时忽略Qt的打包库吗?
- macOS 上的 Qt Creator 出现问题 - ld:找不到 -lQt5Widgets_debug 的库
- 我如何在使用Mingw 32编译的QT框架中使用与MSVC 14.0编译的库
- 与Qt第三方库的静态链接
- 在CentOS 7 x64上编译QT时,如何解决矛盾的库问题
- 从QT创建者运行的应用程序使用与单独运行时不同的库
- 在Qt中管理一个只有头的库的项目
- Windows 7上运行的QCA(QT C 加密库)的问题
- 我需要SQL服务器才能使用Qt的QtSql库吗?
- 为什么Qt会向相对不被引用的库添加'PWD'?
- QT 找不到 openCV 的库
- 将编译后的库添加到CMake Qt项目
- 在Visual C++中使用Qt制作的库
- QT 创建者 - 在我自己的库中使用外部库
- Qt Creator 找不到具有自定义 cmake 步骤的库
- 包括Qt的外部库
- 在基于Qt的库中选择性导出类成员
- QTest - 为基于 Qt 的库和公开类编写测试
- 使应用依赖于基于qt的库