Следуя примеру тестового примера , я застрял при создании.
Моя процедура такая же, как и ниже.
~/Qt/5.12.2/clang_64/bin/qmake -project "QT +=testlib"
=> он сгенерировал Testcase.pro
~/Qt/5.12.2/clang_64/bin/qmake
=> Создан Makefile
~/Qt/5.12.2/clang_64/bin/moc -o testqstring.moc testqstring.h
=> testqstring.mocбыло сгенерировано
make
=> moc_predefs.h и moc_testqstring.cpp сгенерированы, и ошибка печати, как показано ниже.
❯ make
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.12 -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,/Users/sungyong/Qt/5.12.2/clang_64/lib -o Testcase.app/Contents/MacOS/Testcase testqstring.o moc_testqstring.o -F/Users/sungyong/Qt/5.12.2/clang_64/lib -framework QtGui -framework QtTest -framework Security -framework Foundation -framework ApplicationServices -framework QtCore -framework DiskArbitration -framework IOKit -framework OpenGL -framework AGL
duplicate symbol __ZN11TestQString18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZN11TestQString11qt_metacallEN11QMetaObject4CallEiPPv in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZNK11TestQString10metaObjectEv in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZTV11TestQString in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZTS11TestQString in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZTI11TestQString in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZN11TestQString11qt_metacastEPKc in:
testqstring.o
moc_testqstring.o
duplicate symbol __ZN11TestQString16staticMetaObjectE in:
testqstring.o
moc_testqstring.o
ld: 8 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Testcase.app/Contents/MacOS/Testcase] Error 1
Что я ошибся?