代码之家  ›  专栏  ›  技术社区  ›  Szabolcs

如何使用qt creator作为智能编辑器?

  •  0
  • Szabolcs  · 技术社区  · 6 年前

    我希望使用QtCreator4.7作为一个智能编辑器,帮助导航/重构代码并尽早捕获错误。我愿意 要设置为 建造 这个项目我只想 编辑 它。

    这有可能吗?如果是,怎么办?


    更具体地说,我需要将以下信息传达给qt creator 不处理任何与构建相关的问题:

    1. 哪些是我的源文件,什么是他们的语言(C,C++ 98,C++ 11等)
    2. 其他文件的位置(如 -I 编译器选项)
    3. 任何特殊 #define s由预处理器承担

    我尝试过:

    • 我可以使用“文件”->新建文件或“项目”->导入现有项目来创建通用项目。这允许我指定2。3。上面,但不是1。具体来说,它4.7.0认为所有的文件是C++ 98,不会让我使用一个新的标准。代码模型配置不再接受 -std=c++11 选择权。我的印象是,通用项目支持最近很少受到关注,不再被推荐。

    • 我试图建立一个qmake项目,但这似乎需要一个完整的qt安装。我希望避免这种情况,因为我不使用qt。

    • 我研究了如何使用基于cmake的项目,但这似乎需要设置一个特定的构建目标。这真的有必要吗,或者有没有一种方法可以使用基于cmake的项目来只将所需的信息传达给qt creator,以及 设置生成?假设编辑一个只包含标题的库,但不包括 .cpp 文件夹。同样,基于cmake的项目似乎不是一个好的选择,因为cmake的真正目的是自动化构建,而我所需要的只是将基本信息传达给我的IDE。


    动机:我经常在一个用来与 Mathematica . 它有自己的基于数学的构建系统。一些要求 CPP 源由Mathematica自动生成。因此,我不能完全转向像cmake这样的东西,这样做不会给我带来任何好处(但这需要相当长的学习时间)。我只想能够使用qt creator作为智能编辑器。

    注:过去可以添加 -std=c++ 到代码模型配置和解决这个问题。创建者的最新版本拒绝此选项。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Szabolcs    6 年前

    Qbs 项目是一个相当容易使用的替代通用项目,并帮助解决这个问题。

    QBS相对于QMAKE/CMAKE的优势:

    • 它与qt creator一起提供。无需安装任何其他设备(如所有qt)

    • 它被设计为与Creator很好地工作(不像CMAKE是一个构建系统,而不是一个IDE项目格式)

    • 不需要向QBS项目添加显式构建信息。指定哪些文件是项目的一部分就足够了。


    入门:

    1. qbs-create-project 在项目目录中创建一个Barebones QBS文件

    2. 在下面的文件顶部添加以下内容 type ,并根据需要进行调整:

      Depends { name: "cpp" }
      
      cpp.cxxLanguageVersion: "c++11"
      
      cpp.includePaths: base.concat([
          "/your/include/path1",
          "/your/include/path2",
      ])
      cpp.defines: base.concat([
          "NDEBUG",
          "SOME_SYMBOL",
          "SYMBOL_WITH_VALUE=123",
      ])
      

    而不是由添加的文件 qbs-creator-project ,您可能想使用

    files: [ "**/*.cpp" ]
    

    添加所有文件,类似于一般项目的外观。

    感谢Nikolai Kosjar帮助设置了所有这些!