【问题标题】:open source dev environment for C++: what's better? [closed]C++ 的开源开发环境:什么更好? [关闭]
【发布时间】:2009-04-05 20:42:48
【问题描述】:

我想在业余时间做一些编码,但问题是,我不想在这上面花钱。

以下一组开发工具是正确的吗,还是我忘记了什么?

  • Eclipse for C++
  • 用于源代码控制的 SVN
  • 用于 UI 开发的 Qt(因为它是 C++,而且我相信它现在已被诺基亚开放)
  • hudson 持续集成

我想编写一个可以在任何平台上运行的小型图像处理应用程序,但目前的主要平台是 Windows,可能会迁移到 Mac——因此是所有跨平台工具。

有什么明显的我忘记了吗?像 fxcop 这样在 C++ 中进行样式检查的东西?

如果我使用任何库,我希望避免使用 GPL 库;如果我现在的雇主出了问题,我会想通过这个赚钱。

【问题讨论】:

标签: c++ open-source


【解决方案1】:

Microsoft Visual C++ Express 是免费的,而且是适用于 Windows 的最佳 IDE。此外,您可以使用它来处理跨平台代码 - 它更多地取决于编写符合标准的代码和使用可移植库。

如果你想写跨平台的代码,我推荐一个跨平台的构建工具。我使用 CMake,它在 Windows 上生成 Visual Studio 解决方案,但也有其他的,例如 SCons。

至于库,这取决于您究竟需要做什么。 Qt 是一个优秀的 GUI 库。 libpng/libjpeg 等适合在低级别加载/保存图像,但可能还有其他更高级别的图像库。

[编辑] 对有关 MSVC 和 Qt 的评论的回应: 快速搜索会弹出奇趣科技的 Qt Visual Studio 集成页面: Qt Visual Studio .NET Integration 有评论指出这实际上不是免费的(this link 提供免费插件,但它在 Visual Studio 之外运行 Qt 设计器。此外,Visual Studio 的 Express 版本不支持插件。

对于专门在 Qt 中进行编码,Qt 创建了另一个新的 IDE:Qt Creator。我听说过它的好消息,它还可以跨 Windows、Linux 和 Mac 移植。

【讨论】:

  • visual studio express 能否与 qt 配合使用?从我看到的答案来看,我认为是这样的......
  • 应该 - 我已经编辑了我的答案以反映一些(希望有帮助的)信息
  • 如果他真的迁移到 Mac,他将很难让 Microsoft Visual C++ Express 工作 ;-) 也许 Eclipse CDT 更适合他。
  • 这取决于您是否想要跨平台的同构环境。就个人而言,我在 Windows 上使用 MSVC++,在 Linux 上使用 emacs。只要你能适应不同的环境,它就可以很好地工作。
  • @thekidder 您展示的 Qt-VS 集成(在 VS 中嵌入了 Qt 设计器)不是免费的。有一个免费的 Qt-VS 集成 (qtsoftware.com/downloads/visual-studio-add-in) 但 Qt Designer 在 VS 之外运行。另外VC Express不支持插件(stackoverflow.com/questions/86562/…)
【解决方案2】:

我发现拖延症(这是我经常犯的罪) - 只需编写一些代码 - 你可以随时添加工具。

【讨论】:

  • 不是真正的帮助。我已经开始写了,所以也许我没有说清楚;现在我希望进入可以学习新工具的领域。
【解决方案3】:

带有“更好”之类短语的问题的问题在于,很难确定在特定情况下什么是正确的,也许不可能确定什么是“更好”。

也就是说,我成功地将 Eclipse CDT 用作 Linux 上的 IDE。我使用 ACE/TAO 等框架来创建高度可移植的代码。

我知道 QT 是一个非常好的 UI 框架。 KDE 是在 KDE 之上构建的,如果您使用 KDE/Linux,那么您可能还想看看 KDevelop,一个有很多用户的 C++ IDE。

最后,我相信只有你自己才能找出最适合你使用的东西。请务必检查替代方案,然后做出明智的决定。

【讨论】:

    【解决方案4】:

    对于 c++,还有一些免费软件可用,例如 codeblocks 和 devcpp。我发现机器上的 eclipse 很重。

    【讨论】:

      【解决方案5】:

      有许多不同的工具:

      • C++ 编译器...(不在您的列表中)
      • 氧气
      • STLfilt(使用 C++ 编程时必须具备)
      • 一个 UT 框架(CxxTests、boost.test、Fructose、google.test、...)
      • 管理编译链的东西(scons、aap、(b)jam、cmake、...) -- 我不知道 eclipse 使用的是什么。

      【讨论】:

      • 我没有听说过 stlfilt 或那些测试应用程序,谢谢提醒!
      【解决方案6】:
      • 源代码控制:git。这并不像人们想象的那么困难。我是一个 svn 新手,我仍然设法学习了 git 的基础知识,以便在日常生活中使用!大约有 4 或 5 个基本命令可以让您立即开始。阅读official git tutorial

      • 关于 IDE,有几种选择

        • Microsoft Visual C++ Express Edition(免费精简版)
        • 带有 CDT 的 Eclipse
        • QtCreator。 (因为您使用 Qt 作为 GUI)

      【讨论】:

        【解决方案7】:

        我个人在很多项目中都使用过 Eclipse+CDT。与 wxWidgets 搭配使用,它为我提供了足够的跨平台能力(我认为这是一个很大的优势)。

        QT 现在也有一些有趣的 IDE 版本,请务必查看:http://www.qtsoftware.com/products/developer-tools

        就像之前的建议一样,只需开始编码,您最终会找到适合您的组合。个人之间差异很大,什么是“最好的”IDE或命令行工具的组合等等。

        【讨论】:

          【解决方案8】:

          Eclipse CDT 取得了长足的进步,甚至那些只是 unx 工具的组织现在也终于加入了 IDE 的行列。考虑下载当前里程碑,而不是官方版本。

          如果你用的是windows,就不要直接用Eclipse了,找个第三方发行版里面已经有所有的GNU工具了(忘记名字了,可以查一下)。

          切换到 mac 后会更容易,但请确保安装 xcode 以获取 GNU 工具。

          【讨论】:

            【解决方案9】:

            如果您使用的是 svn - VisualSVNServer 是一种出色的基于免费 GUI 的方式来设置和管理您的 SVN 存储库,绝对值得一试,因为这意味着您几乎不需要/没有弄乱配置文件等来更改您的存储库。

            【讨论】:

              【解决方案10】:

              关于版本控制 - Subversion 非常标准并且得到很好的支持。据我所知,Git 更强大但更难使用;值得一看的是一个新的单人项目,因为您不会像其他项目那样有支持和再培训问题。

              关于 IDE,因为 Visual C++ Express 目前是投票率最高的答案 - 我使用过 Eclipse 和 Visual C++ Express。我没有大量使用 Visual C++ Express 的经验,因此它可能具有我忽略的功能,但根据我能够比较的情况,Eclipse 提供了更多功能。我试图在this answer 中列出它更令人印象深刻的功能;据我所知,Visual C++ Express 没有列出的任何功能。 Eclipse 速度较慢且占用资源较多,但如果桌面速度足够快,那么它的额外功能绝对值得。

              【讨论】:

                【解决方案11】:

                在版本控制方面,使用 git 并将您的项目扔到 GitHub 或 Gitorious 上。真的没有理由再使用 Subversion,因为它痛苦的分支和合并,以及缺乏分布式模型。

                请在此处查看此链接,了解 Git 优于 X 的原因: http://whygitisbetterthanx.com/

                使用 Sourceforge 或 GNU Savannah 也没有任何意义,因为 Git 前端站点具有更多有价值的功能并且更易于使用。

                【讨论】:

                  猜你喜欢
                  • 2010-10-19
                  • 1970-01-01
                  • 2012-02-24
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-02-28
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多