2 pièce(s) jointe(s)
Comment ajouter libnice à mon projet?
Bonjour,
J'ai commencé un projet c++ sous windows 11 avec qt 6.10 et raylib. C'est plutôt conceptuel pour l'instant mais il y a déjà quelques fonctionnalité sympa comme le peer2peer.
J'ai donc mes clients qui se connectent les uns aux autres, peuvent tchatter et d'autres fonctionnalités sont à venir mais j'ai besoin d'ajouter libnice à mon projet pour que toute ma partie network puisse fonctionner au delà d'un réseau local.
Le truc c'est que pour l'instant je n'utilise que cmake 4.1.2, vs_BuildTools et notepad++ en gros et je compile avec:
Code:
1 2 3
| mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64
cmake --build . --config Release |
mon cmakelists
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| cmake_minimum_required(VERSION 3.21)#4.1.2)
project(YouNameIt LANGUAGES CXX)
# This makes sure that the dynamic library goes into the build directory automatically.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
# Tell CMake where to look for Qt 6
set(CMAKE_PREFIX_PATH "C:/Qt/6.10.0/msvc2022_64/lib/cmake" CACHE PATH "Qt6 CMake modules" FORCE)
#set(CMAKE_PREFIX_PATH "C:/Qt/6.10.0/msvc2022_64")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(SOURCES
main.cpp
LauncherDialog.cpp
MazeGame.cpp
NetworkManager.cpp
PeerDiscovery.cpp
PeerServer.cpp
ChatClient.cpp
ChatUI.cpp
Peer.h
PlayerProfile.h
LauncherDialog.h
MazeGame.h
NetworkManager.h
PeerDiscovery.h
PeerServer.h
ChatClient.h
ChatUI.h
MazeConfig.h
)
add_executable(YouNameIt ${SOURCES})
find_package(raylib 5.0 QUIET)
if (NOT raylib_FOUND)
include(FetchContent)
FetchContent_Declare(
raylib
GIT_REPOSITORY https://github.com/raysan5/raylib.git
GIT_TAG 5.0
)
FetchContent_MakeAvailable(raylib)
endif()
find_package(OpenGL REQUIRED)
find_package(Qt6 6.10 COMPONENTS Widgets Gui Core Network OpenGL OpenGLWidgets REQUIRED)
target_link_libraries(YouNameIt PRIVATE
OpenGL::GL
Qt6::Widgets
Qt6::Gui
Qt6::Core
Qt6::Network
Qt6::OpenGL
Qt6::OpenGLWidgets
raylib
)
target_compile_features(YouNameIt PRIVATE cxx_std_17)
# Windows specific libraries for Raylib
if (WIN32)
target_link_libraries(YouNameIt PRIVATE winmm)
endif()
target_compile_definitions(YouNameIt PRIVATE
GL_SILENCE_DEPRECATION
QT_NO_OPENGL_ES_2
GLFW_INCLUDE_NONE
)
# Optional: hide console window
#set_target_properties(YouNameIt PROPERTIES WIN32_EXECUTABLE TRUE) |
et donc quelle serait la méthode la plus simple pour ajouter libnice parce qu'il n'utilise pas cmake, p-e vcpkg mais la dernière fois que j'ai voulu m'en servir il me linkait les trucs à moitié ou il n'a pas la dernière version de qt ou je ne sais plus quoi d'autre, ça m'a emmerdé plus qu'autre chose... ninja sous windows? meson... Oo?
'fin bref, je suis un peu perdu parce que mon projet est assez minimaliste et j'aimerai que cela reste ainsi.
N'y a-t-il pas moyen de linker libnice manuellement ou linké une dll ou quelque chose que je puisse ajouté et utiliser libnice à mon projet sans trop galérer?
https://gitlab.freedesktop.org/libnice/libnice/
Pièce jointe 671984
Pièce jointe 671985
Merci.