【问题标题】:qmake assigning variables in command lineqmake在命令行中分配变量
【发布时间】:2014-04-14 02:24:31
【问题描述】:

我无法理解命令行中的分配是如何工作的。

当我跑步时:

qmake-qt4 -project -o project.pro
qmake-qt4 -o qMakeFile "CFLAGS += -std=c++11"
make -f qMakeFile

qMakeFile 生成后,CFLAGS 不变。

我确定我很明显错过了一些东西。

【问题讨论】:

    标签: c++ qt c++11 qt4 qmake


    【解决方案1】:

    这里有几个问题:

    • 您正在尝试为 CFLAGS 变量设置 C++ 选项,而不是 CXXFLAGS。

    • 1234563目前的方法。

    这很有用,因为当您出于某种原因重新运行 qmake 时,您不需要一直明确地传递 CFLAGS 以确保它会在您的 Makefile 中。

    • 此外,您应该考虑在 qmake 项目文件中使用 QMAKE_CXX_FLAGS 变量而不是原始的 CXXFLAGS

    • 此外,qmake 通过CONFIG1 变量对c++11 有更好的支持。

    • 另一件事是我会亲自删除附加分配周围不必要的额外空格。如果您签出,这会在 Makefile 中产生不必要的额外空格,然后需要对其进行转义等等。

    • 另外,我不确定您为什么需要生成自定义 Makefile 名称。

    我个人会这样写:

    qmake -project "QMAKE_CXXFLAGS+=-std=c++11" # only executed once
    

    或者这个更推荐:

    qmake -project "CONFIG+=c++11" # only executed once
    
    qmake && make
    

    请确保您有足够新的编译器版本来支持此选项和一般的 C++11。有时,人们会陷入陷阱,他们没有注意到他们会使用当时不支持的旧版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 2016-04-15
      • 2010-10-06
      • 1970-01-01
      相关资源
      最近更新 更多