cmake和netbeans可以玩得好吗?

时间:2011-07-07 09:38:24

标签: c++ netbeans cmake

我正在开展一个大项目,有些人可能会说很棒。

该项目正在使用cmake和netbeans在c ++中开发。一切都运行正常,除了每次我对项目进行更新,添加或删除源文件,netbeans运行cmake并将新项目添加到“项目”列表。这有点令人讨厌,因为我倾向于这么做。

是否有一种聪明的方法可以确保每次添加子目录时netbeans都不会创建新项目?

4 个答案:

答案 0 :(得分:26)

好消息!

从NetBeans 6.8开始,CMake处理得很好,就像任何其他configure脚本一样:

  1. 从现有来源制作一个新的“C / C ++应用程序”。
  2. 指定项目的目录(CMakeLists.txt所在的目录)。
  3. 在“选择配置模式”中,选择“自动”。
  4. NetBeans将在必要时运行cmake以构建Makefile (或者当您单击“重新配置项目”时)。

    有关详细信息,请参阅original thread on the NetBeans forums

答案 1 :(得分:24)

基于CMake的项目与NetBeans完美配合。

变体 jmendeth 回答:

  1. 制作新的 C/C++ Project with Existing Sources
  2. 设置项目路径(=主CMakeLists.txt的目录)
  3. Select Configuration mode 设置 Custom
  4. 点击 Next
  5. 选择 Run Configure Script in Subfolder (默认文件夹为build
  6. 如果您没有进一步的设置,请点击 Next ,直到您点击完成
  7. 点击 Finish ,Cmake将运行并构建您的项目
  8. 这种方式比自动方式长一些,但实际上它只设置了两个刻度。

    优势以及额外费用的原因:CMake现在将所有 本地缓存文件 放在 子文件夹中 build)并将它们分开放在一个地方 - 不要将它们与其他项目内容混合在一起。

    这样可以保持一个干净的项目结构,因为这些文件仅适用于您的项目并由每个配置运行创建。

    作为额外的:如果您必须手动删除CMake缓存 - 有时会发生这种情况 - 只有一个目录,其中包含所有内容。

    旁注:

    由于 NetBeans 8.0 所有CMake文件都有语法着色

答案 2 :(得分:6)

我收到了这个错误:“无法启动cmake:没有这样的文件或目录”

我不得不使用NetBeans - >偏好 - > C / C ++(构建工具) - >将CMake命令设置为/ opt / local / bin / cmake。

答案 3 :(得分:4)

我正在使用带有大型c ++项目的Cmake,netbeans和SVN,没有问题。

我通常使用“c ++ with existing sources”选项配置项目并选择 由cmake生成的makefile所以netbeans不知道我正在使用哪个make工具。然后只选择包含您需要处理的来源的文件夹。

每次更新源代码时,都必须更新运行cmake的Makefile(以及Netbeans项目也会更新源代码),这样你就可以手动执行,也可以只在项目的build命令中执行:“cmake ..&&制作“(这很棘手,但工作正常)。 希望有用。