Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QT App crashes directly after starting debug run
Forum Updated to NodeBB v4.3 + New Features

QT App crashes directly after starting debug run

Scheduled Pinned Locked Moved Unsolved General and Desktop
cmakemingw64msys2
4 Posts 3 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    BDC_Patrick
    wrote on 24 Oct 2021, 12:29 last edited by BDC_Patrick
    #1

    hi there..

    First:

    Plattform: Win11
    Compiler: QT Mingw64 / MSys-MingW64
    CMake: QT-Cmake / MSys-CMake
    

    Following Situation:

    I setup QT to use the Msys2 internal mingW64 g++ compiler, to Compile my Cmake Project.
    I made a new Kit to handle that, by using msys64\mingw64\bin\gcc.exe as c-compiler and its g++.exe for c++.
    For Cmake, i use my own D:\CMake\bin\cmake.exe, which is up to date. But it changes nothing if i use QT bundled..
    As Debugger, i tried the QT Bundled and the msys dgb.exe.. no Change

    Cmake - No Errors on Building and Linking
    QT Compiling- No Errors, too.. finishes normally

    But when i try to Start the compiled App, it starts and crashes immediately after that..
    The Log of Applications says (from german to english):

    14:19:32: Starte D:/...../Application.exe
    14:19:32: The program crashed.
    14:19:32: The Process stopped
    14:19:32: Starte D:/...../Application.exe crashed
    

    I´ve no clue whats guing on.. Debug Logs, Error Logs.. everything is fine.. it just.. crashes...

    Since i´m not even seeing a Window...
    Here is my CMakeLists.txt:

    cmake_minimum_required(VERSION 3.5)
    
    project(Tester LANGUAGES CXX)
    set(TEST_PROJECT ${PROJECT_NAME})
    
    project(TileGameStudio_Editor LANGUAGES CXX)
    set(EDITOR_PROJECT ${PROJECT_NAME})
    
    set(CMAKE_CXX_STANDARD 20)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    #=============================================================== Fetch GoogleTest
    include(FetchContent)
    FetchContent_Declare(
      googletest
      URL https://github.com/google/googletest/archive/e2239ee6043f73722e7aa812a459f54a28552929.zip
    )
    # For Windows
    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
    FetchContent_MakeAvailable(googletest)
    
    #=============================================================== Setup CMake for QT
    set(CMAKE_AUTOUIC ON)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    
    #=============================================================== Setup Paths
    list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
    set(PROJ_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src)
    set(PROJ_INC ${CMAKE_CURRENT_SOURCE_DIR}/include)
    set(PROJ_LIBS ${CMAKE_CURRENT_SOURCE_DIR}/libs ${CMAKE_CURRENT_SOURCE_DIR})
    set(PROJ_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/tests)
    set(PROJ_TST ${CMAKE_CURRENT_SOURCE_DIR}/test)
    set(PROJ_UI ${CMAKE_CURRENT_SOURCE_DIR}/ui)
    list(APPEND CMAKE_AUTOUIC_SEARCH_PATHS ${PROJ_UI})
    
    set(ANGLE_INCLUDE_PATH "D:/angle/include")
    set(ANGLE_LIBRARY_PATH ${PROJ_LIBS})
    
    #=============================================================== Add Runtime Paths
    set(RT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Runtime/src)
    set(RT_INC ${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Runtime/include)
    
    #=============================================================== Include Packages
    set (CMAKE_PREFIX_PATH "D:/Qt/5.15.2/mingw81_64/")
    find_package(QT NAMES Qt5 COMPONENTS Widgets REQUIRED)
    find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
    find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
    find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Gui REQUIRED)
    find_package(Qt${QT_VERSION_MAJOR} COMPONENTS OpenGL REQUIRED)
    
    include(FindSDL2)
    find_package(SDL2 REQUIRED)
    set(FREETYPE_INCLUDE_DIRS D:/freetype/include)
    set(FREETYPE_INCLUDE_DIR_ft2build D:/freetype/include)
    set(FREETYPE_LIBRARY D:/freetype/obj)
    find_package(Freetype REQUIRED)
    set(LUA_INCLUDE_DIR D:/luajit/src)
    set(LUA_LIBRARY D:/luajit)
    find_package(LuaJIT REQUIRED)
    find_package(OGG REQUIRED)
    find_package(FLAC REQUIRED)
    find_package(Vorbis REQUIRED)
    find_package(THEORA REQUIRED)
    find_package(OpenSSL REQUIRED)
    set(Boost_DEBUG ON)
    set(BOOST_ROOT D:/boost)
    set(Boost_COMPILER "-mgw11")
    set(Boost_ARCHITECTURE "-x64")
    find_package(Boost COMPONENTS filesystem json REQUIRED)
    
    #=============================================================== OUTPUT <LIB>_FOUND
    if (NOT PKG_CONFIG_FOUND)
        message(STATUS "PKG-CONFIG:   NO")
    else ()
        message(STATUS "PKG-CONFIG:   YES - under: ${PKG_CONFIG_EXECUTABLE} >> used to find packages")
    endif ()
    
    if (NOT SDL2_FOUND)
        message(STATUS "SDL2:   NO")
    else ()
        message(STATUS "SDL2:   YES - under: ${SDL2_INCLUDE_DIR} >> included and linked")
        include_directories(
                ${SDL2_INCLUDE_DIR})
        link_directories(
                ${SDL2_INCLUDE_DIR})
    endif ()
    
    if (NOT FREETYPE_FOUND)
        message(STATUS "freetype2:   NO")
    else ()
        message(STATUS "freetype2:   YES - under: ${FREETYPE_INCLUDE_DIR_ft2build} >> included and linked")
        include_directories(${FREETYPE_INCLUDE_DIR_ft2build})
        link_directories(${FREETYPE_INCLUDE_DIR_ft2build})
    endif ()
    
    if (NOT LUAJIT_FOUND)
        message(STATUS "LuaJit:   NO")
    else ()
        message(STATUS "LuaJit:   YES - under: ${LUA_INCLUDE_DIR} >> included and linked")
        include_directories(${LUA_INCLUDE_DIR})
        link_directories(${LUA_INCLUDE_DIR})
    endif ()
    
    if (NOT OGG_FOUND)
        message(STATUS "OGG:   NO")
    else ()
        message(STATUS "OGG:   YES: Version ${OGG_VERSION} - under: ${OGG_INCLUDE_DIR} >> included and linked")
        include_directories(${OGG_INCLUDE_DIR})
        link_directories(${OGG_INCLUDE_DIR})
    endif ()
    
    if (NOT FLAC_FOUND)
        message(STATUS "FLAC:   NO")
    else ()
        message(STATUS "FLAC:   YES - under: ${FLAC_INCLUDE_DIR} >> included and linked")
        include_directories(${FLAC_INCLUDE_DIR})
        link_directories(${FLAC_INCLUDE_DIR})
    endif ()
    
    if (NOT VORBIS_FOUND)
        message(STATUS "VORBIS:   NO")
    else ()
        message(STATUS "VORBIS:   YES - under: ${VORBIS_INCLUDE_DIR} >> included and linked")
        include_directories(${VORBIS_INCLUDE_DIR})
        link_directories(${VORBIS_INCLUDE_DIR})
    endif ()
    
    if (NOT THEORA_FOUND)
        message(STATUS "THEORA:   NO")
    else ()
        message(STATUS "THEORA:   YES - under: ${THEORA_INCLUDE_DIR} >> included and linked")
        include_directories(${THEORA_INCLUDE_DIR})
        link_directories(${THEORA_INCLUDE_DIR})
    endif ()
    
    if (NOT OPENSSL_FOUND)
        message(STATUS "OpenSSL:   NO")
    else ()
        message(STATUS "OpenSSL:   YES - under: ${OPENSSL_INCLUDE_DIR} >> included and linked")
        include_directories(${OPENSSL_INCLUDE_DIR})
        link_directories(${OPENSSL_INCLUDE_DIR})
    endif ()
    
    if (NOT BOOST_FOUND)
        message(STATUS "Boost:   NO")
    else ()
        message(STATUS "Boost:   YES - under: ${Boost_INCLUDE_DIRS} >> included and linked")
        include_directories(${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS})
        link_directories(${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS})
    endif ()
    
    #=============================================================== Include Directories
    include_directories(
        ${PROJ_LIBS}
        ${PROJ_INC}
        ${PROJ_SRC}
        ${PROJ_UI}
        ${RT_SRC}
        ${RT_INC}
        ${ANGLE_INCLUDE_PATH}
        ${ANGLE_LIBRARY_PATH}
        "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders"
        gtest/
    )
    
    link_directories (
        ${PROJ_LIBS}
        ${PROJ_INC}
        ${PROJ_SRC}
        ${PROJ_UI}
        ${RT_SRC}
        ${RT_INC}
        ${ANGLE_INCLUDE_PATH}
        ${ANGLE_LIBRARY_PATH}
        "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders"
        gtest/
    )
    
    #=============================================================== Find GLES Libraries
    message("Looking for GLES Libraries")
    SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll" ".dll.lib")
    find_library(D3D_Lib NAMES d3dcompiler_47 PATHS ${PROJ_LIBS} REQUIRED)
    find_library(GLES2_Lib NAMES libGLESv2 PATHS ${PROJ_LIBS} REQUIRED)
    message("Done: Looking for GLES Libraries")
    
    #=============================================================== Find GTest and GMock Libraries
    #find_library(GTEST_LIBRARIES NAMES libgtest_main libgtest libgmock libgmock_main REQUIRED)
    
    #=============================================================== Collect Sources, Hearders and UI
    file(GLOB PROJECT_SOURCES CONFIGURE_DEPENDS
        ${PROJ_SRC}/*.cpp
        ${RT_SRC}/*.cpp
        ${RT_SRC}/src_ObjectClasses/*.cpp
    )
    
    file(GLOB PROJECT_HEADERS CONFIGURE_DEPENDS
        ${PROJ_INC}/*.h
        ${RT_INC}/include_ObjectClasses/*.h
    )
    
    file(GLOB PROJECT_TESTS CONFIGURE_DEPENDS
        ${PROJ_TESTS}/*.cpp
    )
    
    file(GLOB PROJECT_UI CONFIGURE_DEPENDS
        ${PROJ_UI}/*.ui
    )
    
    file(GLOB PROJECT_RES CONFIGURE_DEPENDS
        ${PROJ_SRC}/*.qrc
    )
    
    file(GLOB PROJECT_SHADERS CONFIGURE_DEPENDS
            "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders/*.glsl"
            )
    
    #=============================================================== Build App
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/")
    set(APP_ICON_RESOURCE_WINDOWS "${CMAKE_CURRENT_SOURCE_DIR}/res.rc")
    if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
        qt_add_executable(${EDITOR_PROJECT}
            ${PROJECT_SOURCES}
            ${PROJECT_HEADERS}
            ${PROJECT_UI}
            ${PROJECT_RES}
            ${APP_ICON_RESOURCE_WINDOWS}
            ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
        )
    else()
        if(ANDROID)
            add_library(${EDITOR_PROJECT} SHARED
                ${PROJECT_SOURCES}
                ${PROJECT_HEADERS}
                ${PROJECT_UI}
                ${PROJECT_RES}
                ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
            )
        elseif(WIN32)
            add_executable(${EDITOR_PROJECT}
                ${PROJECT_SOURCES}
                ${PROJECT_HEADERS}
                ${PROJECT_UI}
                ${PROJECT_RES}
                ${APP_ICON_RESOURCE_WINDOWS}
                ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
            )
        else()
            add_executable(${EDITOR_PROJECT}
                ${PROJECT_SOURCES}
                ${PROJECT_HEADERS}
                ${PROJECT_UI}
                ${PROJECT_RES}
                ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
            )
        endif()
    endif()
    
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Tests")
    add_executable(${TEST_PROJECT}
        ${PROJECT_SOURCES}
        ${PROJECT_HEADERS}
        ${PROJECT_TESTS}
    )
    set_target_properties(${TEST_PROJECT} PROPERTIES OUTPUT_NAME "Tests")
    
    #=============================================================== Link Libraries
    target_link_libraries(${EDITOR_PROJECT}
        PRIVATE Qt${QT_VERSION_MAJOR}::Core
        PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
        PRIVATE Qt${QT_VERSION_MAJOR}::Gui
        PRIVATE Qt${QT_VERSION_MAJOR}::OpenGL
        ${SDL2_LIBRARY}
        ${LUA_LIBRARY}
        ${GLES2_Lib}
        ${D3D_Lib}
        ${OGG_LIBRARY}
        ${FLAC_LIBRARY}
        ${VORBIS_LIBRARY}
        ${THEORA_LIBRARY}
        ${OPENSSL_CRYPTO_LIBRARY}
        ${Boost_LIBRARIES}
        ${Boost_FILESYSTEM_LIBRARY}
    )
    
    target_link_libraries(${TEST_PROJECT}
        PRIVATE Qt${QT_VERSION_MAJOR}::Core
        PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
        PRIVATE Qt${QT_VERSION_MAJOR}::Gui
        PRIVATE Qt${QT_VERSION_MAJOR}::OpenGL
        ${SDL2_LIBRARY}
        ${LUA_LIBRARY}
        ${GLES2_Lib}
        ${D3D_Lib}
        ${OGG_LIBRARY}
        ${FLAC_LIBRARY}
        ${VORBIS_LIBRARY}
        ${THEORA_LIBRARY}
        ${OPENSSL_LIBRARIES}
        ${Boost_LIBRARIES}
        ${Boost_FILESYSTEM_LIBRARY}
        gtest_main
    )
    enable_testing()
    include(GoogleTest)
    
    #=============================================================== Add GoogleTests
    message("")
    message("Adding Tests to ${TEST_PROJECT}")
    message("")
    if(NOT PROJECT_TESTS)
        message("No Tests available!")
    else()
        gtest_add_tests(TARGET ${TEST_PROJECT} TEST_LIST var)
        message("Tests were added to ${TEST_PROJECT}. The List:")
        foreach(X ${var})
            message("-  ${X}")
        endforeach()
    endif()
    message("")
    
    

    My main.cpp is simply the QT default one, created on project creation.. no change right now..

    JonBJ 1 Reply Last reply 24 Oct 2021, 17:45
    0
    • B BDC_Patrick
      24 Oct 2021, 12:29

      hi there..

      First:

      Plattform: Win11
      Compiler: QT Mingw64 / MSys-MingW64
      CMake: QT-Cmake / MSys-CMake
      

      Following Situation:

      I setup QT to use the Msys2 internal mingW64 g++ compiler, to Compile my Cmake Project.
      I made a new Kit to handle that, by using msys64\mingw64\bin\gcc.exe as c-compiler and its g++.exe for c++.
      For Cmake, i use my own D:\CMake\bin\cmake.exe, which is up to date. But it changes nothing if i use QT bundled..
      As Debugger, i tried the QT Bundled and the msys dgb.exe.. no Change

      Cmake - No Errors on Building and Linking
      QT Compiling- No Errors, too.. finishes normally

      But when i try to Start the compiled App, it starts and crashes immediately after that..
      The Log of Applications says (from german to english):

      14:19:32: Starte D:/...../Application.exe
      14:19:32: The program crashed.
      14:19:32: The Process stopped
      14:19:32: Starte D:/...../Application.exe crashed
      

      I´ve no clue whats guing on.. Debug Logs, Error Logs.. everything is fine.. it just.. crashes...

      Since i´m not even seeing a Window...
      Here is my CMakeLists.txt:

      cmake_minimum_required(VERSION 3.5)
      
      project(Tester LANGUAGES CXX)
      set(TEST_PROJECT ${PROJECT_NAME})
      
      project(TileGameStudio_Editor LANGUAGES CXX)
      set(EDITOR_PROJECT ${PROJECT_NAME})
      
      set(CMAKE_CXX_STANDARD 20)
      set(CMAKE_CXX_STANDARD_REQUIRED ON)
      set(CMAKE_INCLUDE_CURRENT_DIR ON)
      
      #=============================================================== Fetch GoogleTest
      include(FetchContent)
      FetchContent_Declare(
        googletest
        URL https://github.com/google/googletest/archive/e2239ee6043f73722e7aa812a459f54a28552929.zip
      )
      # For Windows
      set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
      FetchContent_MakeAvailable(googletest)
      
      #=============================================================== Setup CMake for QT
      set(CMAKE_AUTOUIC ON)
      set(CMAKE_AUTOMOC ON)
      set(CMAKE_AUTORCC ON)
      
      #=============================================================== Setup Paths
      list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
      set(PROJ_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src)
      set(PROJ_INC ${CMAKE_CURRENT_SOURCE_DIR}/include)
      set(PROJ_LIBS ${CMAKE_CURRENT_SOURCE_DIR}/libs ${CMAKE_CURRENT_SOURCE_DIR})
      set(PROJ_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/tests)
      set(PROJ_TST ${CMAKE_CURRENT_SOURCE_DIR}/test)
      set(PROJ_UI ${CMAKE_CURRENT_SOURCE_DIR}/ui)
      list(APPEND CMAKE_AUTOUIC_SEARCH_PATHS ${PROJ_UI})
      
      set(ANGLE_INCLUDE_PATH "D:/angle/include")
      set(ANGLE_LIBRARY_PATH ${PROJ_LIBS})
      
      #=============================================================== Add Runtime Paths
      set(RT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Runtime/src)
      set(RT_INC ${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Runtime/include)
      
      #=============================================================== Include Packages
      set (CMAKE_PREFIX_PATH "D:/Qt/5.15.2/mingw81_64/")
      find_package(QT NAMES Qt5 COMPONENTS Widgets REQUIRED)
      find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
      find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
      find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Gui REQUIRED)
      find_package(Qt${QT_VERSION_MAJOR} COMPONENTS OpenGL REQUIRED)
      
      include(FindSDL2)
      find_package(SDL2 REQUIRED)
      set(FREETYPE_INCLUDE_DIRS D:/freetype/include)
      set(FREETYPE_INCLUDE_DIR_ft2build D:/freetype/include)
      set(FREETYPE_LIBRARY D:/freetype/obj)
      find_package(Freetype REQUIRED)
      set(LUA_INCLUDE_DIR D:/luajit/src)
      set(LUA_LIBRARY D:/luajit)
      find_package(LuaJIT REQUIRED)
      find_package(OGG REQUIRED)
      find_package(FLAC REQUIRED)
      find_package(Vorbis REQUIRED)
      find_package(THEORA REQUIRED)
      find_package(OpenSSL REQUIRED)
      set(Boost_DEBUG ON)
      set(BOOST_ROOT D:/boost)
      set(Boost_COMPILER "-mgw11")
      set(Boost_ARCHITECTURE "-x64")
      find_package(Boost COMPONENTS filesystem json REQUIRED)
      
      #=============================================================== OUTPUT <LIB>_FOUND
      if (NOT PKG_CONFIG_FOUND)
          message(STATUS "PKG-CONFIG:   NO")
      else ()
          message(STATUS "PKG-CONFIG:   YES - under: ${PKG_CONFIG_EXECUTABLE} >> used to find packages")
      endif ()
      
      if (NOT SDL2_FOUND)
          message(STATUS "SDL2:   NO")
      else ()
          message(STATUS "SDL2:   YES - under: ${SDL2_INCLUDE_DIR} >> included and linked")
          include_directories(
                  ${SDL2_INCLUDE_DIR})
          link_directories(
                  ${SDL2_INCLUDE_DIR})
      endif ()
      
      if (NOT FREETYPE_FOUND)
          message(STATUS "freetype2:   NO")
      else ()
          message(STATUS "freetype2:   YES - under: ${FREETYPE_INCLUDE_DIR_ft2build} >> included and linked")
          include_directories(${FREETYPE_INCLUDE_DIR_ft2build})
          link_directories(${FREETYPE_INCLUDE_DIR_ft2build})
      endif ()
      
      if (NOT LUAJIT_FOUND)
          message(STATUS "LuaJit:   NO")
      else ()
          message(STATUS "LuaJit:   YES - under: ${LUA_INCLUDE_DIR} >> included and linked")
          include_directories(${LUA_INCLUDE_DIR})
          link_directories(${LUA_INCLUDE_DIR})
      endif ()
      
      if (NOT OGG_FOUND)
          message(STATUS "OGG:   NO")
      else ()
          message(STATUS "OGG:   YES: Version ${OGG_VERSION} - under: ${OGG_INCLUDE_DIR} >> included and linked")
          include_directories(${OGG_INCLUDE_DIR})
          link_directories(${OGG_INCLUDE_DIR})
      endif ()
      
      if (NOT FLAC_FOUND)
          message(STATUS "FLAC:   NO")
      else ()
          message(STATUS "FLAC:   YES - under: ${FLAC_INCLUDE_DIR} >> included and linked")
          include_directories(${FLAC_INCLUDE_DIR})
          link_directories(${FLAC_INCLUDE_DIR})
      endif ()
      
      if (NOT VORBIS_FOUND)
          message(STATUS "VORBIS:   NO")
      else ()
          message(STATUS "VORBIS:   YES - under: ${VORBIS_INCLUDE_DIR} >> included and linked")
          include_directories(${VORBIS_INCLUDE_DIR})
          link_directories(${VORBIS_INCLUDE_DIR})
      endif ()
      
      if (NOT THEORA_FOUND)
          message(STATUS "THEORA:   NO")
      else ()
          message(STATUS "THEORA:   YES - under: ${THEORA_INCLUDE_DIR} >> included and linked")
          include_directories(${THEORA_INCLUDE_DIR})
          link_directories(${THEORA_INCLUDE_DIR})
      endif ()
      
      if (NOT OPENSSL_FOUND)
          message(STATUS "OpenSSL:   NO")
      else ()
          message(STATUS "OpenSSL:   YES - under: ${OPENSSL_INCLUDE_DIR} >> included and linked")
          include_directories(${OPENSSL_INCLUDE_DIR})
          link_directories(${OPENSSL_INCLUDE_DIR})
      endif ()
      
      if (NOT BOOST_FOUND)
          message(STATUS "Boost:   NO")
      else ()
          message(STATUS "Boost:   YES - under: ${Boost_INCLUDE_DIRS} >> included and linked")
          include_directories(${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS})
          link_directories(${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS})
      endif ()
      
      #=============================================================== Include Directories
      include_directories(
          ${PROJ_LIBS}
          ${PROJ_INC}
          ${PROJ_SRC}
          ${PROJ_UI}
          ${RT_SRC}
          ${RT_INC}
          ${ANGLE_INCLUDE_PATH}
          ${ANGLE_LIBRARY_PATH}
          "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders"
          gtest/
      )
      
      link_directories (
          ${PROJ_LIBS}
          ${PROJ_INC}
          ${PROJ_SRC}
          ${PROJ_UI}
          ${RT_SRC}
          ${RT_INC}
          ${ANGLE_INCLUDE_PATH}
          ${ANGLE_LIBRARY_PATH}
          "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders"
          gtest/
      )
      
      #=============================================================== Find GLES Libraries
      message("Looking for GLES Libraries")
      SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll" ".dll.lib")
      find_library(D3D_Lib NAMES d3dcompiler_47 PATHS ${PROJ_LIBS} REQUIRED)
      find_library(GLES2_Lib NAMES libGLESv2 PATHS ${PROJ_LIBS} REQUIRED)
      message("Done: Looking for GLES Libraries")
      
      #=============================================================== Find GTest and GMock Libraries
      #find_library(GTEST_LIBRARIES NAMES libgtest_main libgtest libgmock libgmock_main REQUIRED)
      
      #=============================================================== Collect Sources, Hearders and UI
      file(GLOB PROJECT_SOURCES CONFIGURE_DEPENDS
          ${PROJ_SRC}/*.cpp
          ${RT_SRC}/*.cpp
          ${RT_SRC}/src_ObjectClasses/*.cpp
      )
      
      file(GLOB PROJECT_HEADERS CONFIGURE_DEPENDS
          ${PROJ_INC}/*.h
          ${RT_INC}/include_ObjectClasses/*.h
      )
      
      file(GLOB PROJECT_TESTS CONFIGURE_DEPENDS
          ${PROJ_TESTS}/*.cpp
      )
      
      file(GLOB PROJECT_UI CONFIGURE_DEPENDS
          ${PROJ_UI}/*.ui
      )
      
      file(GLOB PROJECT_RES CONFIGURE_DEPENDS
          ${PROJ_SRC}/*.qrc
      )
      
      file(GLOB PROJECT_SHADERS CONFIGURE_DEPENDS
              "${PROJECT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Data/InitProj/shaders/*.glsl"
              )
      
      #=============================================================== Build App
      set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/")
      set(APP_ICON_RESOURCE_WINDOWS "${CMAKE_CURRENT_SOURCE_DIR}/res.rc")
      if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
          qt_add_executable(${EDITOR_PROJECT}
              ${PROJECT_SOURCES}
              ${PROJECT_HEADERS}
              ${PROJECT_UI}
              ${PROJECT_RES}
              ${APP_ICON_RESOURCE_WINDOWS}
              ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
          )
      else()
          if(ANDROID)
              add_library(${EDITOR_PROJECT} SHARED
                  ${PROJECT_SOURCES}
                  ${PROJECT_HEADERS}
                  ${PROJECT_UI}
                  ${PROJECT_RES}
                  ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
              )
          elseif(WIN32)
              add_executable(${EDITOR_PROJECT}
                  ${PROJECT_SOURCES}
                  ${PROJECT_HEADERS}
                  ${PROJECT_UI}
                  ${PROJECT_RES}
                  ${APP_ICON_RESOURCE_WINDOWS}
                  ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
              )
          else()
              add_executable(${EDITOR_PROJECT}
                  ${PROJECT_SOURCES}
                  ${PROJECT_HEADERS}
                  ${PROJECT_UI}
                  ${PROJECT_RES}
                  ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
              )
          endif()
      endif()
      
      set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../TileGameStudio_Editor_Build_Debug/Shipped/Tests")
      add_executable(${TEST_PROJECT}
          ${PROJECT_SOURCES}
          ${PROJECT_HEADERS}
          ${PROJECT_TESTS}
      )
      set_target_properties(${TEST_PROJECT} PROPERTIES OUTPUT_NAME "Tests")
      
      #=============================================================== Link Libraries
      target_link_libraries(${EDITOR_PROJECT}
          PRIVATE Qt${QT_VERSION_MAJOR}::Core
          PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
          PRIVATE Qt${QT_VERSION_MAJOR}::Gui
          PRIVATE Qt${QT_VERSION_MAJOR}::OpenGL
          ${SDL2_LIBRARY}
          ${LUA_LIBRARY}
          ${GLES2_Lib}
          ${D3D_Lib}
          ${OGG_LIBRARY}
          ${FLAC_LIBRARY}
          ${VORBIS_LIBRARY}
          ${THEORA_LIBRARY}
          ${OPENSSL_CRYPTO_LIBRARY}
          ${Boost_LIBRARIES}
          ${Boost_FILESYSTEM_LIBRARY}
      )
      
      target_link_libraries(${TEST_PROJECT}
          PRIVATE Qt${QT_VERSION_MAJOR}::Core
          PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
          PRIVATE Qt${QT_VERSION_MAJOR}::Gui
          PRIVATE Qt${QT_VERSION_MAJOR}::OpenGL
          ${SDL2_LIBRARY}
          ${LUA_LIBRARY}
          ${GLES2_Lib}
          ${D3D_Lib}
          ${OGG_LIBRARY}
          ${FLAC_LIBRARY}
          ${VORBIS_LIBRARY}
          ${THEORA_LIBRARY}
          ${OPENSSL_LIBRARIES}
          ${Boost_LIBRARIES}
          ${Boost_FILESYSTEM_LIBRARY}
          gtest_main
      )
      enable_testing()
      include(GoogleTest)
      
      #=============================================================== Add GoogleTests
      message("")
      message("Adding Tests to ${TEST_PROJECT}")
      message("")
      if(NOT PROJECT_TESTS)
          message("No Tests available!")
      else()
          gtest_add_tests(TARGET ${TEST_PROJECT} TEST_LIST var)
          message("Tests were added to ${TEST_PROJECT}. The List:")
          foreach(X ${var})
              message("-  ${X}")
          endforeach()
      endif()
      message("")
      
      

      My main.cpp is simply the QT default one, created on project creation.. no change right now..

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on 24 Oct 2021, 17:45 last edited by JonB
      #2

      @BDC_Patrick
      You run your application from within each debugger, it crashes, but the debuggers don't tell you anything about it? I take it that if you place a breakpoint on entry to your main() you never get there?

      B 1 Reply Last reply 25 Oct 2021, 04:22
      0
      • JonBJ JonB
        24 Oct 2021, 17:45

        @BDC_Patrick
        You run your application from within each debugger, it crashes, but the debuggers don't tell you anything about it? I take it that if you place a breakpoint on entry to your main() you never get there?

        B Offline
        B Offline
        BDC_Patrick
        wrote on 25 Oct 2021, 04:22 last edited by
        #3

        @JonB that´s right

        J.HilkJ 1 Reply Last reply 25 Oct 2021, 05:20
        0
        • B BDC_Patrick
          25 Oct 2021, 04:22

          @JonB that´s right

          J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on 25 Oct 2021, 05:20 last edited by
          #4

          @BDC_Patrick might be a driver/win11 issue, does it also directly crash with a console application?


          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          1 Reply Last reply
          0

          1/4

          24 Oct 2021, 12:29

          • Login

          • Login or register to search.
          1 out of 4
          • First post
            1/4
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved