3

我在 Mac OS 10.8.5 和 Qt 5.1.1 上工作,除其他外,qdebug类可以很好地与某些项目配合使用,但不能与其他一些项目一起编译。我已经尝试重新安装 Qt 并没有改变任何事情。

这当然是由于使用了 SDL 库(?!),但它曾经可以正常工作。这是编译输出的一部分:

In file included from ../../Stage/Joker/tests/SDLTest/main.cpp:7:
In file included from /Applications/QT/5.1.1/clang_64/include/QtCore/QDebug:1:
In file included from /Applications/QT/5.1.1/clang_64/include/QtCore/qdebug.h:46:
In file included from /Library/Frameworks/QtCore.framework/Headers/qhash.h:46:
/Library/Frameworks/QtCore.framework/Headers/qchar.h:76:5: error: unknown type name 'QT_ASCII_CAST_WARN_CONSTRUCTOR'
    QT_ASCII_CAST_WARN_CONSTRUCTOR QChar(char c);
    ^

如果需要,我可以提供更多输出或不工作的 Qt 类。

我用 Qt => Build => Run 构建我的代码不幸的是,我无法在另一台计算机上重现代码。

这是 pro 文件(我的所有同事都很好,除了我):

TEMPLATE = app

SOURCES += main.cpp
OBJECTIVE_HEADERS += ../../libs/PhGraphic/SDLMain.h
OBJECTIVE_SOURCES += ../../libs/PhGraphic/SDLMain.m
LIBS += -framework Cocoa
QMAKE_CXXFLAGS += -F/Library/Frameworks
QMAKE_OBJECTIVE_CFLAGS += -F/Library/Frameworks
LIBS += -F/Library/Frameworks

LIBS += -framework SDL -framework SDL_image -framework SDL_ttf
4

2 回答 2

3

安装软件后我曾经遇到过这个问题:它在/Library/Framework文件夹中创建了一个QtCore.framework ,它覆盖了当前 Qt 工具包的 QtCore(由于 QMAKE_CXXFLAGS += -F/Library/Frameworks)。

于 2013-10-02T15:47:16.847 回答
1
  1. 它是qDebug,并且有两个重载:

    • 流返回函数

      qDebug() << "foo";
      
    • printf 风格的函数

      qDebug("foo");
      
  2. 您需要提供最低限度的可重现测试用例,以便我们为您提供帮助。

  3. 你是如何构建你的代码的?您是否使用 qmake 来生成 Makefile?我们至少需要查看 .pro 文件,并通过删除无用的样板注释等将其最小化。

于 2013-10-02T13:15:15.697 回答