> Hey, that was the LTS release until 1 or 2 month ago! Oops, you're right, my mistake. Somewhere in the back of my head was that the 4-series was in the 4.12.x or so version, not sure where that came from. I haven't worked with Qt4 ever, but have become extremely experienced with Qt5 from Qt 5.4 onwards. Nevertheless, I should've checked before mentioning it :P.
Sincerely, Jakob van Bethlehem On Wed, Jun 1, 2016 at 10:47 AM, Hendrik Sattler <[email protected]> wrote: > > > Am 1. Juni 2016 09:26:18 MESZ, schrieb Jakob van Bethlehem < > [email protected]>: > >That is what he said, but it seems to be a typo, because the > >CMakeLists.txt > >file clearly states 'set(QT_DIR > >${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/Qt/4.8.6)' > > Ok, I overlooked that one... > > >- still a stone-age version of Qt actually :( > > Hey, that was the LTS release until 1 or 2 month ago! > And they made Qt 5.6 an LTS release also to quieten people that complain > about dropping modules without proper replacement (means feature parity) > and dropping compiler support. > You will see users of Qt 5.6 for a loooooong time. > > >On Wed, Jun 1, 2016 at 9:09 AM, Hendrik Sattler > ><[email protected]> > >wrote: > > > >> > >> > >> Am 1. Juni 2016 09:02:41 MESZ, schrieb Jakob van Bethlehem < > >> [email protected]>: > >> >Hej, > >> > > >> >Some things that come to mind: > >> >* You're generating files *inside* the source tree - you're not > >> >supposed to > >> >do that > >> >* Why do you want to have a special Qt_tmp directory? I don't see > >the > >> >benefit, and without that requirement you can simply use the > >> >qt4_wrap_cpp > >> >macro explicitly and you still are not forced to use the automoc > >> >feature > >> > > >> >And now for what is probably wrong in your CMakeLists.txt: > >> >* It seems you made an important mistake regarding the behaviour of > >> >'file(GLOB)'. That function will do the expansion *while running > >> >CMake*. > >> >But at that time the moc_* files *don't exist!* (as a matter of > >fact, > >> >the > >> >tmp directory doesn't even exist). In other words, your > >${Moc_SOURCES} > >> >will > >> >be empty, and hence they are not compiled, and hence you get > >precisely > >> >the > >> >linker errors you see (because these sources implement the functions > >> >that > >> >are listed as missing by the linker) > >> > > >> >If you would use the qt4_wrap_cpp() macro you don't run into this > >> >problem, > >> >so I'd strongly suggest using it. > >> > >> Except that he is using Qt3. > >> > >> >Sincerely, > >> >Jakob van Bethlehem > >> > > >> > > >> > > >> > > >> >On Tue, May 31, 2016 at 4:52 PM, irene w <[email protected]> > >wrote: > >> > > >> >> It seems CMakw could not find the generated moc_xxx files. I > >> >modified the > >> >> scripts to specify moc_xxx files is generated, but it still has > >same > >> >errors. > >> >> > >> >> ADD_CUSTOM_COMMAND ( OUTPUT ${Qt_tmp}/moc_GMWindow.cpp > >> >> COMMAND ${QT_MOC_CMD} ${GM_DIR}/GMWindow.h -o > >> >> ${Qt_tmp}/moc_GMWindow.cpp > >> >> DEPENDS ${GM_DIR}/GMWindow.h > >> >> ) > >> >> ADD_CUSTOM_TARGET(generate_foo DEPENDS ${Qt_tmp}/moc_GMWindow.cpp) > >> >> SET_SOURCE_FILES_PROPERTIES(${Qt_tmp}/moc_GMWindow.cpp PROPERTIES > >> >> GENERATED 1) > >> >> SET_PROPERTY(SOURCE ${GM_DIR}/GMWindow.cpp APPEND PROPERTY > >> >OBJECT_DEPENDS > >> >> ${Qt_tmp}/moc_GMWindow.cpp) > >> >> > >> >> ..... > >> >> add_dependencies (GM generate_foo) > >> >> > >> >> > >> >> Does the Macro "SET_SOURCE_FILES_PROPERTIES" with "GENERATED" > >> >> setting work for this purposes? Any help would be greatly > >> >appreciated ! > >> >> > >> >> > >> >> On Wed, May 25, 2016 at 12:48 PM, irene w <[email protected]> > >> >wrote: > >> >> > >> >>> Hi, > >> >>> > >> >>> I am compiling a simple Qt3 application on Linux using CMake. In > >my > >> >case, > >> >>> I need to build moc_xxx files with custom options and output to a > >> >specified > >> >>> directory, So, I was not using CAMKE_AUTO macros. My cmake > >scripts > >> >create a > >> >>> "Qt_tmp" directory and output moc_xxx there. > >> >>> > >> >>> It looked it always failed to link the moc_xxx files for the > >first > >> >time > >> >>> build when there is no "Qt_tmp" directory, and succeeded if I ran > >> >build > >> >>> again if the "Qt_tmp" directory and moc_xxx files created by the > >> >failed > >> >>> build were kept without removing. However, it'll fail if I > >delete > >> >>> the "Qt_tmp" directory. > >> >>> > >> >>> Even it failed at the first build, the moc_xxx files were > >> >>> successfully created in the "Qt_tmp" directory. > >> >>> > >> >>> Here is my cmake scripts and the errors I got. Can anyone help > >me > >> >to > >> >>> figure out the issues? Any help would be greatly appreciated. > >> >Thanks. > >> >>> > >> >>> CMakeLists.txt > >> >>> > >> >>> > >> > >> > > >>--------------------------------------------------------------------------------------------- > >> >>> cmake_minimum_required(VERSION 3.4.1) > >> >>> project (GM_Application CXX) > >> >>> SET (CMAKE_SYSTEM_NAME Linux) > >> >>> SET (CMAKE_CXX_COMPILER ${COMPILER_PATH}${CROSS_COMPILE}g++) > >> >>> set (GM_DIR ${CMAKE_CURRENT_SOURCE_DIR}) > >> >>> set (QT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/Qt/4.8.6) > >> >>> LINK_DIRECTORIES (${QT_DIR}/lib) > >> >>> INCLUDE_DIRECTORIES ("${QT_DIR}/include" > >> >>> "${GM_DIR}" > >> >>> ) > >> >>> ##### Compiling QT moc and ui ##### > >> >>> set (QT_MOC_CMD ${QT_DIR}/bin/moc -I$(QT_DIR)/mkspecs/linux-g++ > >> >>> -I${QT_DIR}/include -I${QT_DIR}/include/QtGui) > >> >>> file (MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Qt_tmp) > >> >>> set (Qt_tmp ${CMAKE_CURRENT_SOURCE_DIR}/Qt_tmp) > >> >>> add_custom_target (Moc_GMWindows > >> >>> COMMAND ${QT_MOC_CMD} ${GM_DIR}/GMWindow.h -o > >> >>> ${Qt_tmp}/moc_GMWindow.cpp > >> >>> ) > >> >>> > >> >>> ##### Compiling application ##### > >> >>> file (GLOB GM_SOURCES ${GM_DIR}/*.h ${GM_DIR}/*.cpp) > >> >>> file (GLOB Moc_SOURCES ${Qt_tmp}/*.h ${Qt_tmp}/*.cpp) > >> >>> add_executable (GM ${GM_SOURCES} ${Moc_SOURCES}) > >> >>> target_include_directories (GM PRIVATE ${Qt_tmp}) > >> >>> add_dependencies (GM Moc_GMWindows) > >> >>> target_link_libraries (GM QtGui) > >> >>> > >> >>> > >> >>> > >> > >> > > >>------------------------------------------------------------------------------------------- > >> >>> Errors: > >> >>> > >> >>> Scanning dependencies of target Moc_GMWindows > >> >>> [ 0%] Built target Moc_GMWindows > >> >>> Scanning dependencies of target GM > >> >>> [ 14%] Building CXX object GM/CMakeFiles/GM.dir/GM/GM.cpp.o > >> >>> [ 42%] Building CXX object > >GM/CMakeFiles/GM.dir/GM/GMService.cpp.o > >> >>> [ 67%] Building CXX object GM/CMakeFiles/GM.dir/GM/GMWindow.cpp.o > >> >>> [ 85%] Building CXX object GM/CMakeFiles/GM.dir/GM/main.cpp.o > >> >>> [100%] Linking CXX executable ../bin/GM > >> >>> CMakeFiles/GM.dir/GM/GMWindow.cpp.o: In function > >> >>> `GM::GMWindow::emitAppendMessage(QStrin > >> >>> g)': > >> >>> /GM/GMWindow.cpp:217: undefined reference to > >> >>> `GM::GMWindow::appendMessage(QString)' > >> >>> > >> > >>CMakeFiles/GM.dir/GM/GMWindow.cpp.o:(.rodata._ZTVN2GM8GMWindowE[vtable > >> >>> for GM::GMWindow] > >> >>> +0x8): undefined reference to `GM::GMWindow::metaObject() const' > >> >>> > >> > >>CMakeFiles/GM.dir/GM/GMWindow.cpp.o:(.rodata._ZTVN2GM8GMWindowE[vtable > >> >>> for GM::GMWindow] > >> >>> +0xc): undefined reference to `GM::GMWindow::qt_metacast(char > >> >const*)' > >> >>> > >> > >>CMakeFiles/GM.dir/GM/GMWindow.cpp.o:(.rodata._ZTVN2GM8GMWindowE[vtable > >> >>> for GM::GMWindow] > >> >>> +0x10): undefined reference to > >> >>> `GM::GMWindow::qt_metacall(QMetaObject::Call, int, void**)' > >> >>> collect2: ld returned 1 exit status > >> >>> make[2]: *** [bin/GM] Error 1 > >> >>> make[1]: *** [GM/CMakeFiles/GM.dir/all] Error 2 > >> >>> make: *** [all] Error 2 > >> >>> > >> >>> > >> >>> > >> >>> > >> >< > >> > > > https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail > >> > > >> >Virus-free. > >> >>> www.avast.com > >> >>> > >> >< > >> > > > https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail > >> > > >> >>> > >> > >> > > >><#m_3542150497808946122_m_6400203814648417669_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > >> >>> > >> >> > >> >> > >> >> -- > >> >> > >> >> Powered by www.kitware.com > >> >> > >> >> Please keep messages on-topic and check the CMake FAQ at: > >> >> http://www.cmake.org/Wiki/CMake_FAQ > >> >> > >> >> Kitware offers various services to support the CMake community. > >For > >> >more > >> >> information on each offering, please visit: > >> >> > >> >> CMake Support: http://cmake.org/cmake/help/support.html > >> >> CMake Consulting: http://cmake.org/cmake/help/consulting.html > >> >> CMake Training Courses: http://cmake.org/cmake/help/training.html > >> >> > >> >> Visit other Kitware open-source projects at > >> >> http://www.kitware.com/opensource/opensource.html > >> >> > >> >> Follow this link to subscribe/unsubscribe: > >> >> http://public.kitware.com/mailman/listinfo/cmake > >> >> > >> > > >> > > >> > >>------------------------------------------------------------------------ > >> > >> -- > >> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > >> gesendet. > >> -- > >> > >> Powered by www.kitware.com > >> > >> Please keep messages on-topic and check the CMake FAQ at: > >> http://www.cmake.org/Wiki/CMake_FAQ > >> > >> Kitware offers various services to support the CMake community. For > >more > >> information on each offering, please visit: > >> > >> CMake Support: http://cmake.org/cmake/help/support.html > >> CMake Consulting: http://cmake.org/cmake/help/consulting.html > >> CMake Training Courses: http://cmake.org/cmake/help/training.html > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/cmake > >> > > > > > >------------------------------------------------------------------------ > > -- > Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > gesendet. >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
