when I transplant a Qt project from windows to Mac, what should I do?
-
Hello everyone:
I'am a new developer for Qt, since I developed MacOS App use Xcode,now my company let me transplant a exsit windows project in Qt to Mac use Qt for easy maintain, when I opened the project which transplanted form windows use Mac Qt, the Qt always showed the errors like ': expected a qualified name after 'typename'',but it work fine in windows Qt, so I according the tip, and delete the typename in my .cpp it worked fine.
so sad is the more errors appear just like the last 'typename' error, such as, use property must add 'this->' before property, it also work fine in windows, it's so more errors that cause I have no idea, I feel whether my transplanted project which in Mac Qt configurations is wrong, such as compiler configurations, cause the large errors, Anyone has suggestion, please tell me,thanks!
-
@jsulm
This is my errors, Thanks21:41:33: Running steps for project FUEditor... 21:41:33: Configuration unchanged, skipping qmake step. 21:41:33: Starting: "/usr/bin/make" Makefile:3604: warning: overriding commands for target `qrc_fueditor.o' Makefile:3047: warning: ignoring old commands for target `qrc_fueditor.o' Makefile:3607: warning: overriding commands for target `moc_videoWidget.o' Makefile:3032: warning: ignoring old commands for target `moc_videoWidget.o' Makefile:3610: warning: overriding commands for target `moc_VideoWidget_Base.o' Makefile:3035: warning: ignoring old commands for target `moc_VideoWidget_Base.o' Makefile:3613: warning: overriding commands for target `moc_webcam_widget.o' Makefile:3039: warning: ignoring old commands for target `moc_webcam_widget.o' Makefile:3616: warning: overriding commands for target `moc_AttrController.o' Makefile:2881: warning: ignoring old commands for target `moc_AttrController.o' Makefile:3619: warning: overriding commands for target `moc_basemeshviewer.o' Makefile:2884: warning: ignoring old commands for target `moc_basemeshviewer.o' Makefile:3625: warning: overriding commands for target `moc_CameraController.o' Makefile:2887: warning: ignoring old commands for target `moc_CameraController.o' Makefile:3628: warning: overriding commands for target `moc_CreateProjectDialog.o' Makefile:2893: warning: ignoring old commands for target `moc_CreateProjectDialog.o' Makefile:3631: warning: overriding commands for target `moc_fueditor.o' Makefile:2926: warning: ignoring old commands for target `moc_fueditor.o' Makefile:3634: warning: overriding commands for target `moc_funamawidget.o' Makefile:2942: warning: ignoring old commands for target `moc_funamawidget.o' Makefile:3637: warning: overriding commands for target `moc_highlighter.o' Makefile:2949: warning: ignoring old commands for target `moc_highlighter.o' Makefile:3640: warning: overriding commands for target `moc_NamaViewController.o' Makefile:2952: warning: ignoring old commands for target `moc_NamaViewController.o' Makefile:3643: warning: overriding commands for target `moc_NetController.o' Makefile:2958: warning: ignoring old commands for target `moc_NetController.o' Makefile:3646: warning: overriding commands for target `moc_PackController.o' Makefile:2975: warning: ignoring old commands for target `moc_PackController.o' Makefile:3649: warning: overriding commands for target `moc_PreChoiceController.o' Makefile:2980: warning: ignoring old commands for target `moc_PreChoiceController.o' Makefile:3652: warning: overriding commands for target `moc_SceneContorller.o' Makefile:2984: warning: ignoring old commands for target `moc_SceneContorller.o' Makefile:3655: warning: overriding commands for target `moc_ScriptDebugDialog.o' Makefile:2996: warning: ignoring old commands for target `moc_ScriptDebugDialog.o' Makefile:3658: warning: overriding commands for target `moc_StatusBarController.o' Makefile:3000: warning: ignoring old commands for target `moc_StatusBarController.o' Makefile:3661: warning: overriding commands for target `moc_SyncServerDialogController.o' Makefile:3007: warning: ignoring old commands for target `moc_SyncServerDialogController.o' Makefile:3664: warning: overriding commands for target `moc_TreeViewController.o' Makefile:3021: warning: ignoring old commands for target `moc_TreeViewController.o' Makefile:3667: warning: overriding commands for target `moc_TriggerNextCtl.o' Makefile:3028: warning: ignoring old commands for target `moc_TriggerNextCtl.o' Makefile:3670: warning: overriding commands for target `moc_WorkspaceTreeWidget.o' Makefile:3044: warning: ignoring old commands for target `moc_WorkspaceTreeWidget.o' /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -g -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.10 -Wall -W -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../FUEditor -I. -I../../../../Qt5.9.4/5.9.4/clang_64/lib/QtQuick.framework/Headers -I../../../../Qt5.9.4/5.9.4/clang_64/lib/QtGui.framework/Headers -I../../../../Qt5.9.4/5.9.4/clang_64/lib/QtQml.framework/Headers -I../../../../Qt5.9.4/5.9.4/clang_64/lib/QtNetwork.framework/Headers -I../../../../Qt5.9.4/5.9.4/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt5.9.4/5.9.4/clang_64/mkspecs/macx-clang -F/Users/lee/Qt5.9.4/5.9.4/clang_64/lib -o Camera.o ../FUEditor/algorithm/camera/Camera.cpp In file included from ../FUEditor/algorithm/camera/Camera.cpp:1: In file included from ../FUEditor/algorithm/camera/Camera.h:4: In file included from ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:18: In file included from ../FUEditor/algorithm/camera/../ldpMat/ldpdef.h:10: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ext/hash_map:213:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings] # warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> ^ In file included from ../FUEditor/algorithm/camera/Camera.cpp:1: In file included from ../FUEditor/algorithm/camera/Camera.h:4: In file included from ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:18: In file included from ../FUEditor/algorithm/camera/../ldpMat/ldpdef.h:11: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ext/hash_set:205:5: warning: Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings] # warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> ^ In file included from ../FUEditor/algorithm/camera/Camera.cpp:1: In file included from ../FUEditor/algorithm/camera/Camera.h:4: ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:169:2: error: expected a qualified name after 'typename' LDP_BASIC_MAT_ARITHMATIC(+) ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:134:11: note: expanded from macro 'LDP_BASIC_MAT_ARITHMATIC' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> operator OP (const ldp_basic_mat<E,N,M>& rhs)const \ ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:170:2: error: expected a qualified name after 'typename' LDP_BASIC_MAT_ARITHMATIC(-) ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:134:11: note: expanded from macro 'LDP_BASIC_MAT_ARITHMATIC' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> operator OP (const ldp_basic_mat<E,N,M>& rhs)const \ ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:212:11: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> pmul (const ldp_basic_mat<E,N,M>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:220:11: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> pdiv (const ldp_basic_mat<E,N,M>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:232:11: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, K> operator * (const ldp_basic_mat<E,M,K>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:248:11: error: expected a qualified name after 'typename' typename ldp_basic_vec<typename type_promote<T,E>::type, N> operator * (const ldp_basic_vec<E,M>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:169:2: error: expected a qualified name after 'typename' LDP_BASIC_MAT_ARITHMATIC(+) ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:136:12: note: expanded from macro 'LDP_BASIC_MAT_ARITHMATIC' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> out; \ ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:170:2: error: expected a qualified name after 'typename' LDP_BASIC_MAT_ARITHMATIC(-) ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:136:12: note: expanded from macro 'LDP_BASIC_MAT_ARITHMATIC' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> out; \ ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:214:12: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> out; ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:222:12: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, M> out; ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:234:12: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, N, K> out; ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:250:12: error: expected a qualified name after 'typename' typename ldp_basic_vec<typename type_promote<T,E>::type, N> out; ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:310:3: error: use of undeclared identifier 'zeros' zeros(); ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:334:3: error: use of undeclared identifier 'zeros' zeros(); ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:597:11: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, 2, K> operator * (const ldp_basic_mat<E,2,K>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:608:11: error: expected a qualified name after 'typename' typename ldp_basic_mat2<typename type_promote<T,E>::type> operator * (const ldp_basic_mat<E,2,2>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:619:11: error: expected a qualified name after 'typename' typename ldp_basic_vec2<typename type_promote<T,E>::type> operator * (const ldp_basic_vec<E,2>& rhs)const ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:599:12: error: expected a qualified name after 'typename' typename ldp_basic_mat<typename type_promote<T,E>::type, 2, K> out; ^ ../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:602:16: error: use of undeclared identifier '_data' out(i, 0) = _data[0]*rhs(i,0) + _data[2]*rhs(i,1); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 2 warnings and 20 errors generated. make: *** [Camera.o] Error 1 21:41:33: The process "/usr/bin/make" exited with code 2. Error while building/deploying project FUEditor (kit: Desktop Qt 5.9.4 clang 64bit) When executing step "Make" 21:41:34: Elapsed time: 00:01.
-
@Princein said in when I transplant a Qt project from windows to Mac, what should I do?:
../FUEditor/algorithm/camera/../ldpMat/ldp_basic_mat.h:169:2: error: expected a qualified name after 'typename'
LDP_BASIC_MAT_ARITHMATIC(+)You will need to show the code where this error is raised as I don't know what you're doing there.
-
Here is my screenshot for my transplanted pro from windows and now in Mac
.pro : https://github.com/iOSPrincekin/Qt/blob/master/QA/4.png
.pri : https://github.com/iOSPrincekin/Qt/blob/master/QA/3.pnghttps://github.com/iOSPrincekin/Qt/blob/master/QA/2.png
https://github.com/iOSPrincekin/Qt/blob/master/QA/1.pngshould I change some configurations for my Mac project?
-
You have configuration file which works on the Windows platform. I see configurations like WIN32 , OpenGL32 etc.
- You are using the third party software e.g Algorithm or camera etc. First ensure this library or project works on the MAC platform.
- Ensure that you are able to create the Simple Qt project on MAC it works.
- When you move the project from Windows to MAC, remove all the *.pro.user(NOT PRO file), all *.obj, *.o,
- Remove all the win32 references in your configuration. How your software works on MAC(step#1) is very important.
Please note that moving Qt project from Windows to MAC is very easy. Now you have another software(algorithm) even that has to moved here. This is where you are getting all the errors.
-
@dheerendra said in when I transplant a Qt project from windows to Mac, what should I do?:
ow you have another software(alg
Thank you very much,Your answer is very exciting, just like you said,now I focus to fix errors in Algorithm,but I must certain my .pro is correct to prevent waste much time,Here is my new .pro,can you help me check is it suit for Qt in Mac? Thanks a lot,you're nice man!
.pro:
TEMPLATE = app
TARGET = ConnaGuit
QT += core opengl widgets gui
CONFIG += release
DEFINES += QT_DLL QT_OPENGL_LIB QT_WIDGETS_LIB
INCLUDEPATH += ./GeneratedFiles
.
./GeneratedFiles/Release
LIBS += -lopengl32
-lglu32
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/release
OBJECTS_DIR += release
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(ConnaGuit.pri)
TRANSLATIONS+=cn.ts
CONFIG += c++11 -
@Princein said in when I transplant a Qt project from windows to Mac, what should I do?:
-lglu32
I see references of Windows dll like QT_DLL or openGL32 etc. Your project algorithm does it work MAC ? Did you confirm that ? Is it Qt project ?
-
@dheerendra said in when I transplant a Qt project from windows to Mac, what should I do?:
openGL32 etc. Y
Thanks for your reply, The algorithm is a library which writed by my colleague, the last .pro I showed you is in my Mac Qt project which transplanted from the windows Qt project,I want to confirm the .pro I showed you is suit for Qt in Mac, if not, should I change something in the .pro which I showed you in the last reply, very sorry for my English,thanks a lot.
-
LIBS += -lopengl32 -lglu32
Apart from these two rest is looks ok to me. You can use something like -lGLU -lglut on mac. You need to try.