使用本机Visual C ++项目与makefile项目的意见

时间:2011-01-28 01:09:34

标签: c++ cross-platform project-management

我正在开发一个跨平台的C / C ++代码库,它具有Visual C ++(超级大多数)& XCode开发人员。它还需要在Linux上进行编译,因为这是它部署的地方。我们目前正在使用一个复杂的Unix makefile,它是从Visual C ++,XCode和& Unix命令行。

但是,makefile项目会导致Visual C ++开发人员的生产力损失:

  1. 构建时间较慢
  2. Intellisense&文本搜索不适用于未在项目中直接引用的文件
  3. 没有.h依赖关系生成(不清楚如何在Windows上执行)
  4. 添加本机Visual C ++项目有以下缺点:

    1. 管理所有这些单独的平台配置的工作很多here也许VC ++ 2010的层次结构属性表会有所帮助。
    2. 由于将makefile与本机项目同步而开展更多工作
    3. 目前,我正在考虑为Windows开发人员添加本机项目。任何人都可以提供他们最好的经验或建议如何减少这两种方法的问题。

      我已经考虑过CMake并且会亲自使用它,但要说服其他人学习cmake&将它与本机项目同步将是一个问题。

3 个答案:

答案 0 :(得分:3)

  

我已经考虑过CMake并且会亲自使用它,但要说服其他人学习cmake&将它与本机项目同步将是一个问题。

关于CMake的好处是它为您构建了所有配置。您将设置一个CMake项目,然后使用它为您生成VS解决方案,XCode项目和unix makefile。

这是一个巨大的进步 - 每个人都可以在他们的“原生”环境中工作,无论他们是在Windows,Mac还是Unix上。

答案 1 :(得分:0)

我通过编写自己的转换器来处理这个问题,该转换器将为各种嵌入式开发环境同步脚本。如果上面使用CMake的答案为你做了所有这些,那么这就是你要走的路。但如果它过于复杂,那么滚动自己的自定义工具就不那么难了。只需要两种方式同步。

另外,如果你没有它。视觉工作室的视觉辅助很棒:)

答案 2 :(得分:0)

我不是makefile生成器, cmake qmake 之类的粉丝。

我是make的粉丝。我们有一个makefile(好吧,实际上有几个,但它们相互包含,并且没有涉及递归make),它知道所有平台上的所有项目依赖(windows,wince,linux,mac,...)。这给出了:

  • Makefile实际上只是一个源列表(包括依赖项是在构建期间自动生成的)
  • 除了指定工具链
  • 之外,每个平台上的相同构建命令
  • Build使用我所有的CPU
  • 时间很短
  • 开发人员可以使用他们喜欢的任何IDE
    • vim,emacs,qtcreator,eclipse,XCode都在使用
    • 我经常在Windows上使用VC ++(用于调试器)
  • 脚本化。自动化测试的好方法

尼斯。