将相关的 Qt 库和 header (开源版本)添加到项目存储库是否有意义,或者我应该只从 sdk 目录中引用它们?
我(独自)正在开发一个跨平台(windows/linux)c++ 应用程序,它将使用许多第三方开源库,包括 Qt、OpenCV、log4cpp 等等。
为了方便(快速创建 GUI),我开始使用 Qt Creator 进行开发。目前,我在项目目录外的 Linux 和 Windows 上都安装了 Qt Sdk。
我计划转向 CMAKE 以获得更好的可配置性,例如源外构建和 Qt Creator 的独立性,我希望将所有依赖项包含在项目目录结构中 - 这样我或其他任何人都可以 check out 项目并构建,无需安装任何其他依赖项。
我已经将除 Qt 之外的所有库添加到目录中,因为我有点不确定天气是否值得 - 似乎 CMAKE 依赖于 Qt Sdk 来编译 Qt 特定文件,即 moc、ui 等...(see here ) 是这样吗?还是有更适合的构建工具? (最初我打算使用 Scons,但我决定不使用,因为似乎支持有限..自 2010 年以来,Qt4 Tools 一直没有开发,这也没有激发信心。)
最佳答案
Qt 太大而无法放在项目目录中,即使您只包含它的一个模块也是如此。您还可以在 CMake 中使用一些方便的功能来使用 Qt(添加 moc、rcc、ui)。您甚至可以自己编写这些函数(很快,它们只是添加一个预构建命令)。
对于构建操作:您将需要使用 moc
(可能还有 ui
、rcc
,...),它是CMake 不提供。因此,想要构建您的应用程序的人必须安装 Qt SDK。幸运的是,此安装非常简单。
关于c++ - 添加或不添加 Qt Libs 和 Headers 到项目目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13072203/