IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques C++ Discussion :

Comment ajouter libnice à mon projet?


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mkdir build && cd build
    cmake .. -G "Visual Studio 17 2022" -A x64
    cmake --build . --config Release
    mon cmakelists
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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/

    Nom : wip1.png
Affichages : 45
Taille : 57,0 Ko
    Nom : wip2.png
Affichages : 40
Taille : 49,3 Ko

    Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 158
    Billets dans le blog
    4
    Par défaut
    Le plus "simple" serait sans doute de créer un makefile pour la lib
    Soit toi-même, soit faire la demande aux contributeurs de la lib, soit contribuer toi-même à la lib pour proposer le makefile que tu aurais créé
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Par défaut
    Je vais d'abords tester pkg-config parce que je me rends compte que ça n'a rien à voir avec vcpkg apparement.
    Sinon oui, j'essaierai, j'appréhende un peu avec les différentes version des dépendances mais bon je verrai...
    Merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Par défaut
    Je vais regarder plutôt les alternatives, je viens de trouver libdatachannel ou libjuice qui font ce que je veux il me semble avec support cmake.
    Pour libnice, même les dépendances utilisent meson donc ça devient un casse-tête "ouroboros" ...
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. qu'elle reference a ajouter à mon projet
    Par yassin-59 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 01/06/2010, 15h03
  2. comment ajouter des infos projet sur mes JSP
    Par legad dans le forum Maven
    Réponses: 1
    Dernier message: 12/02/2008, 16h45
  3. comment ajouter à mon projet des fenêtres pop up?
    Par DJOUA François dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/08/2007, 14h15
  4. Réponses: 9
    Dernier message: 10/01/2007, 10h04
  5. Besoin d'aide sur comment partir avec mon projet
    Par brutus111 dans le forum Développement 2D, 3D et Jeux
    Réponses: 17
    Dernier message: 01/09/2006, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo