Am 1. Juni 2016 09:26:18 MESZ, schrieb Jakob van Bethlehem 
<jsvanbethle...@gmail.com>:
>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
><p...@hendrik-sattler.de>
>wrote:
>
>>
>>
>> Am 1. Juni 2016 09:02:41 MESZ, schrieb Jakob van Bethlehem <
>> jsvanbethle...@gmail.com>:
>> >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 <ire866...@gmail.com>
>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 <ire866...@gmail.com>
>> >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

Reply via email to