How to build qt 5 project on mac

2019-08-13 14:41发布

问题:

I try to build a simple Qt 5 program on Mac. But I failed.

The code is very simple:

#include <QtWidgets/QApplication>

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

I used:

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

Then I got this error:

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)

Is there anything i missing?

回答1:

Firstly, don't compile and link Qt projects by hand; use qmake and project files.

Run qmake -project in your source directory to generate a basic project file.

Edit the project file and add the following line: QT += widgets

Now run qmake to generate a makefile.

Now run make to build your program.

Secondly, you can simply #include <QApplication>



回答2:

If you want to use clang++ in favor of qmake, you need to specify libraries to link against to, along with the library directory (which you supplied).

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


回答3:

I had the same problems and it seems to me that there is some sort of bug in the release it gave me some errors because out of a fresh install (using qt creator) i didn't have some obscure qt library (not the normal qt5 modules but some sort of library in development) so I tend to think that it could be qt's problem

That said I have some questions to better understand:

-are you using a IDE?

-if you are using one which is it?

-are you including all the modules in the *.pro for quake?

-have you used 4.8 version, did you experienced these problems with that?

P.S. if you do not have any particular necessity I suggest you to stick to version 4.8 for some time (as I am doing without problem) since 5.0 is just been released



标签: macos qt clang