c++ - Cmake and Qt5 linking error -
i'm trying build qt5 project cmake in order add new librairies. cmake goes have linking issue when building :
linking cxx executable bin/qgo cmakefiles/qgo.dir/src/main.cpp.o: dans la fonction « main »: main.cpp:(.text+0x102b): undefined reference « qinitresources_application() » collect2: error: ld returned 1 exit status make[2]: *** [bin/qgo] erreur 1 make[1]: *** [cmakefiles/qgo.dir/all] erreur 2 make: *** [all] erreur 2
here cmakelists.txt :
cmake_minimum_required(version 2.8.11) project (qgo) set(cmake_module_path /usr/local/lib/cmake/) # répertoire d'installation de qt5 (dépend de l'installation) set(cmake_prefix_path "~/qt/5.4/gcc/") find_package (opencv required) find_package (aruco required) # find includes in corresponding build directories set(cmake_include_current_dir on) # instruct cmake run moc automatically when needed. set(cmake_automoc on) # use moc files in bin folder set(cmake_include_current_dir on) # find qt5 components find_package(qt5core) find_package(qt5widgets) find_package(qt5network) find_package(qt5multimedia) set(executable_output_path bin) set(cmake_cxx_flags "-std=c++11") include_directories(src) include_directories(src/audio) include_directories(src/board) include_directories(src/game_interfaces) include_directories(src/game_tree) include_directories(src/gtp) include_directories(src/network) include_directories(src/resources) include_directories(src/sgf) include_directories(src/translations) file( glob_recurse source_files src/* ) file( glob_recurse ui_files src/*.ui ) file( glob_recurse header_files src/*.h src/*.hpp ) qt5_wrap_ui(header_ui ${ui_files}) # tell cmake create helloworld executable add_executable(qgo ${source_files} ${header_ui}) # use widgets module qt 5. target_link_libraries(qgo qt5::core qt5::widgets qt5::network qt5::multimedia ${opencv_libs} ${aruco_libs})
i have tried add libraries ${qt5widgets_includes} or ${qt5widgets_definitions} did same.
i've tried compile qtcreator , works problem cmake.
i think forget append moc , resources executable use qt5_wrap_cpp()
mocs use qt5_add_resources()
resources.
then must append vars add_executable
check out this link.
Comments
Post a Comment