日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用cmake重写live555工程-附源码和视频教程

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用cmake重写live555工程-附源码和视频教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cmake-live555

工程總覽

從零開始手寫cmake工程管理live555開源代碼,新的工程已經開源到github上,代碼倉庫地址:

github倉庫地址
視頻教程地址: live555-cmake

歡迎fork和轉發

剪頭指向的為4個庫,每個庫里面建議一個CMakeLists.txt文件用于生成對應的庫,剩下的幾個文件夾除了WindowsAudioImputDevice沒有使用外(因為我是在linux上實現的),其他的都在主目錄下的CMakeLists.txt文件中添加可執行文件。

UsageEnvironment目錄中生命了一些虛類

BasicUsageEnvironment主要是對目錄UsageEnvironment中定義的虛類的實現

groupsock主要實現了對socket封裝,在liveMedia目錄中涉及網絡的部分會使用

liveMedia目錄是整個live555開發庫的核心部分

TODO:增加生成器表達式,后期 可以根據cmake選項生成是否含有符號信息的可執行程序

TODO:挨個分析live555源碼

使用方式

  • Clion導入已有工程

  • 手動編譯

  • #進入打工程目錄 cd live555-cmake # 創建編譯目錄 mkdir build # 進入到build目錄 cd build #構建 Makefile cmake .. # make 生成可執行文件 make

    各個庫的創建

    UsageEnvironment實現的CMakeLists.txt如下,實現將UsageEnvironment里的源文件編譯成對應的庫文件,這里生測還給你的庫文件是UsageEnvironment cmake會自動給庫添加上lib前綴,所以最終生成libUsageEnvironment.a

    #This should be the first line of the CMakeLists.txt cmake_minimum_required(VERSION 3.2)# Poor practice, but very common project(live555 VERSION 4.7.2)file(GLOB USER_LIBS_FILE ./*.cpp)add_library(UsageEnvironment STATIC${USER_LIBS_FILE})add_definitions("-Wall -g") add_definitions("-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1") #add_compile_options(-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1)target_include_directories(UsageEnvironment PUBLIC .PUBLIC includePUBLIC ../groupsock/include)

    同樣實現了

    BasicUsageEnvironment庫的建立

    #This should be the first line of the CMakeLists.txt cmake_minimum_required(VERSION 3.2)# Poor practice, but very common project(live555 VERSION 4.7.2)file(GLOB USER_LIBS_FILE ./*.cpp)add_library(BasicUsageEnvironment STATIC${USER_LIBS_FILE})add_definitions("-Wall -g") add_definitions("-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1") #add_compile_options(-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1)target_include_directories(BasicUsageEnvironment PUBLIC .PUBLIC includePUBLIC ../UsageEnvironment/includePUBLIC ../groupsock/include)

    groupsock庫的簡歷

    #This should be the first line of the CMakeLists.txt cmake_minimum_required(VERSION 3.2)# Poor practice, but very common project(live555 VERSION 4.7.2)file(GLOB USER_LIBS_FILE ./*.cpp) file(GLOB USER_LIBS_C_FILE ./*.c)add_library(groupsock STATIC${USER_LIBS_FILE}${USER_LIBS_C_FILE})add_definitions("-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1") #add_compile_options(-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1)target_include_directories(groupsock PUBLIC .PUBLIC includePUBLIC ./../../UsageEnvironment/include)

    liveMedia庫的建立

    #This should be the first line of the CMakeLists.txt cmake_minimum_required(VERSION 3.2)# Poor practice, but very common project(live555 VERSION 4.7.2)file(GLOB USER_LIBS_FILE ./*.cpp) file(GLOB USER_LIBS_C_FILE ./*.c)add_library(liveMedia STATIC${USER_LIBS_FILE}${USER_LIBS_C_FILE})add_definitions("-Wall -g") add_definitions("-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1") #add_compile_options(-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1)target_link_libraries(liveMediaPUBLIC sslPUBLIC crypto) target_include_directories(liveMedia PUBLIC .PUBLIC includePUBLIC ../UsageEnvironment/includePUBLIC ../groupsock/include)

    以及在主目錄中創建個個可執行程序,以及live555MediaServer

    #This should be the first line of the CMakeLists.txt cmake_minimum_required(VERSION 3.2)# Poor practice, but very common project(live555 VERSION 4.7.2)# add_subdirectory(liveMedia) add_subdirectory(groupsock) add_subdirectory(BasicUsageEnvironment) add_subdirectory(UsageEnvironment)file(GLOB USER_LIBS_FILE ./mediaServer/*.cpp) add_executable(live555MediaServer${USER_LIBS_FILE}) add_definitions("-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1") #add_compile_options(-std=c++11 -O -DSOCKLEN_T=socklen_t -g -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1)target_link_libraries(live555MediaServerPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment)target_include_directories(live555MediaServer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)# proxy live555 add_executable(live555ProxyServer proxyServer/live555ProxyServer.cpp) target_link_libraries(live555ProxyServerPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(live555ProxyServer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include) # hls live555 add_executable(live555HLSProxy hlsProxy/live555HLSProxy.cpp) target_link_libraries(live555HLSProxyPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(live555HLSProxy PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)# test programe add_executable(testMP3Streamer testProgs/testMP3Streamer.cpp) target_link_libraries(testMP3StreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMP3Streamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)# add_executable(testMPEG1or2VideoStreamer testProgs/testMPEG1or2VideoStreamer.cpp) target_link_libraries(testMPEG1or2VideoStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG1or2VideoStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG1or2AudioVideoStreamer testProgs/testMPEG1or2AudioVideoStreamer.cpp) target_link_libraries(testMPEG1or2AudioVideoStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG1or2AudioVideoStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG2TransportStreamer testProgs/testMPEG2TransportStreamer.cpp) target_link_libraries(testMPEG2TransportStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG2TransportStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include) ########################################################## add_executable(testH264VideoStreamer testProgs/testH264VideoStreamer.cpp) target_link_libraries(testH264VideoStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testH264VideoStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testH265VideoStreamer testProgs/testH265VideoStreamer.cpp) target_link_libraries(testH265VideoStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testH265VideoStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testDVVideoStreamer testProgs/testDVVideoStreamer.cpp) target_link_libraries(testDVVideoStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testDVVideoStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testWAVAudioStreamer testProgs/testWAVAudioStreamer.cpp) target_link_libraries(testWAVAudioStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment)target_include_directories(testWAVAudioStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testAMRAudioStreamer testProgs/testAMRAudioStreamer.cpp) target_link_libraries(testAMRAudioStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testAMRAudioStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMKVStreamer testProgs/testMKVStreamer.cpp) target_link_libraries(testMKVStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMKVStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testOggStreamer testProgs/testOggStreamer.cpp) target_link_libraries(testOggStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testOggStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(vobStreamer testProgs/vobStreamer.cpp) target_link_libraries(vobStreamerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(vobStreamer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMP3Receiver testProgs/testMP3Receiver.cpp) target_link_libraries(testMP3ReceiverPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMP3Receiver PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG2TransportReceiver testProgs/testMPEG2TransportReceiver.cpp) target_link_libraries(testMPEG2TransportReceiverPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG2TransportReceiver PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(sapWatch testProgs/sapWatch.cpp) target_link_libraries(sapWatchPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(sapWatch PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)################################## add_executable(testRelay testProgs/testRelay.cpp) target_link_libraries(testRelayPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testRelay PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include) add_executable(testReplicator testProgs/testReplicator.cpp) target_link_libraries(testReplicatorPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testReplicator PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testOnDemandRTSPServer testProgs/testOnDemandRTSPServer.cpp) target_link_libraries(testOnDemandRTSPServerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testOnDemandRTSPServer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testRTSPClient testProgs/testRTSPClient.cpp) target_link_libraries(testRTSPClientPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testRTSPClient PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(openRTSP testProgs/openRTSP.cpptestProgs/playCommon.cpp) target_link_libraries(openRTSPPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(openRTSP PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(playSIP testProgs/playSIP.cpptestProgs/playCommon.cpp) target_link_libraries(playSIPPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(playSIP PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testH264VideoToHLSSegments testProgs/testH264VideoToHLSSegments.cpp) target_link_libraries(testH264VideoToHLSSegmentsPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testH264VideoToHLSSegments PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG1or2Splitter testProgs/testMPEG1or2Splitter.cpp) target_link_libraries(testMPEG1or2SplitterPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG1or2Splitter PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG1or2ProgramToTransportStream testProgs/testMPEG1or2ProgramToTransportStream.cpp) target_link_libraries(testMPEG1or2ProgramToTransportStreamPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG1or2ProgramToTransportStream PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testH264VideoToTransportStream testProgs/testH264VideoToTransportStream.cpp) target_link_libraries(testH264VideoToTransportStreamPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testH264VideoToTransportStream PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testH265VideoToTransportStream testProgs/testH265VideoToTransportStream.cpp) target_link_libraries(testH265VideoToTransportStreamPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testH265VideoToTransportStream PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(MPEG2TransportStreamIndexer testProgs/MPEG2TransportStreamIndexer.cpp) target_link_libraries(MPEG2TransportStreamIndexerPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(MPEG2TransportStreamIndexer PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG2TransportStreamTrickPlay testProgs/testMPEG2TransportStreamTrickPlay.cpp) target_link_libraries(testMPEG2TransportStreamTrickPlayPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG2TransportStreamTrickPlay PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(registerRTSPStream testProgs/registerRTSPStream.cpp) target_link_libraries(registerRTSPStreamPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(registerRTSPStream PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMKVSplitter testProgs/testMKVSplitter.cpp) target_link_libraries(testMKVSplitterPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMKVSplitter PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(testMPEG2TransportStreamSplitter testProgs/testMPEG2TransportStreamSplitter.cpp) target_link_libraries(testMPEG2TransportStreamSplitterPUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(testMPEG2TransportStreamSplitter PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)add_executable(mikeyParse testProgs/mikeyParse.cpp) target_link_libraries(mikeyParsePUBLIC sslPUBLIC cryptoPRIVATE liveMediaPRIVATE groupsockPRIVATE BasicUsageEnvironmentPRIVATE UsageEnvironment) target_include_directories(mikeyParse PUBLIC .PUBLIC includePUBLIC UsageEnvironment/includePUBLIC groupsock/includePUBLIC liveMedia/includePUBLIC BasicUsageEnvironment/include)

    為了方便交流可以關注下,微信公眾號:

    也可以通過csdn了解后期live555的分析過程

    博客地址

    總結

    以上是生活随笔為你收集整理的使用cmake重写live555工程-附源码和视频教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。