我在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 =>跑 不幸的是,我无法在其他计算机上重现代码。
这是专业档案(除了我之外,我的所有同事都能很好地工作):
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
答案 0 :(得分:3)
我在安装软件后曾遇到过这个问题:它在 / Library / Framework 文件夹中创建了一个 QtCore.framework ,它覆盖了你的QtCore当前的Qt套件(由于QMAKE_CXXFLAGS + = -F / Library / Frameworks)。
答案 1 :(得分:1)
它是qDebug
,并且有两个重载:
流返回功能
qDebug() << "foo";
一个printf风格的函数
qDebug("foo");
您需要提供最低限度的可重复测试用例,以便我们为您提供帮助。
您是如何构建代码的?你使用qmake生成Makefile吗?我们需要至少看到.pro文件,请通过删除无用的样板注释等来最小化它。