如何在mac上构建qt 5项目

时间:2013-01-24 04:04:46

标签: macos qt clang

我尝试在Mac上构建一个简单的Qt 5程序。但我失败了。

代码非常简单:

#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication app (argc, argv);
    return app.exec();
}

我用过:

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib    test.cpp

然后我收到了这个错误:

Undefined symbols for architecture x86_64:
  "QApplication::exec()", referenced from:
      _main in test-jPGORy.o
  "QApplication::QApplication(int&, char**, int)", referenced from:
      _main in test-jPGORy.o
  "QApplication::~QApplication()", referenced from:
      _main in test-jPGORy.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我有什么遗漏吗?

3 个答案:

答案 0 :(得分:1)

首先,不要手工编译和链接Qt项目;使用qmake和项目文件。

在源目录中运行qmake -project以生成基本项目文件。

编辑项目文件并添加以下行:QT += widgets

现在运行qmake以生成makefile。

现在运行make来构建您的程序。

其次,您可以简单地#include <QApplication>

答案 1 :(得分:1)

如果你想使用clang ++来支持qmake,你需要指定要连接的库以及库目录(你提供的)。

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib  -lQtCore -lQtGui  test.cpp

答案 2 :(得分:0)

我有同样的问题,在我看来,在发布中存在某种错误它给了我一些错误,因为在全新安装(使用qt creator)我没有一些模糊的qt库(不是正常的qt5模块,但开发中的某种库)所以我倾向于认为它可能是qt的问题

那说我有一些问题需要更好地理解:

- 你在使用IDE吗?

- 你使用的是它吗?

- 您是否包括* .pro中的所有模块用于地震?

- 你使用过4.8版本,你是否遇到过这些问题?

P.S。如果您没有任何特殊需要,我建议您坚持使用4.8版本(因为我没有问题)因为5.0刚刚发布