原创 gcc新版安裝以及切換gcc版本 查看gcc版本 安裝新版gcc 查看已安裝的gcc版本 gcc版本切換

查看gcc版本 gcc -v 安裝新版gcc sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install

原创 如何通過cmake自動拷貝運行所需dll到executable目錄

給你的library定義一個帶"IMPORTED" 屬性的target,同時需要併爲此定義lib和dll路徑屬性,需要區分debug和release。 add_library(sdl2 SHARED IMPORTED GLOBAL) se

原创 CMake中INSTALL_RPATH與BUILD_RPATH問題 1. RPATH和RUNPATH區別 2. CMake build之後消除RPATH

1. RPATH和RUNPATH區別 RPATH和RUNPATH都可以用來在運行時搜索動態庫,下面用一個簡單的例子說明二者的區別。 example:一個小工程中,有1個頭文件和3個源文件。 頭文件sub.h中的內容如下: #ifndef T

原创 RTP Header

1. RTP Header結構圖 V:RTP協議的版本號,佔2位,當前協議版本號爲2 P:填充標誌,佔1位,如果P=1,則在該報文的尾部填充一個或多個額外的八位組,它們不是有效載荷的一部分。 X:擴展標誌,佔1位,如果X=1,則在RTP

原创 Linux下編譯帶x264的ffmpeg的方法 轉載 一、環境準備 二、編譯 三、編譯完成後,修改環境編譯

一、環境準備 ffmpeg下載: http://www.ffmpeg.org/download.html x264下載: http://download.videolan.org/x264/snapshots/ yasm下載: http:/

原创 編譯Qt SDK 和 QtCreator —— qt6.x & qtcreator-7.0 & cmake 1. 編譯前的依賴工具:

1. 編譯前的依賴工具: node js:爲了支持WebEngine cmake:Qt從6.0開始源碼都是用cmake組織的,包括qtcreator,一般內置的版本可能會較舊的,qt編譯會提示需要新版cmake,索性編譯安裝最新的cmak

原创 C/C++崩潰 linux的dump文件不能生成

1. ulimit -a 查看生成dump文件是否開啓了   shell鍵入ulimit -a查看core文件有沒有限制大小,即:如果發現core file size這一項值爲0,則意味着沒有開啓。 開啓辦法: echo 'ulimit

原创 linux系統下查看相機支持信息

linux系統下可以通過v4l2-ctl相關命令查詢當前有哪些相機,以及相機支持的相關參數 查看有多少相機 v4l2-ctl --list-devices ----------------------------------------

原创 如何通過cmake自動拷貝運行所需dll到executable目錄

給你的library定義一個帶"IMPORTED" 屬性的target,同時需要併爲此定義lib和dll路徑屬性,需要區分debug和release。 add_library(sdl2 SHARED IMPORTED GLOBAL) set

原创 通過宏區分系統

## 系統宏定義: UNIX: _unix or _unix_ Linux: _linux or _linux_ Windows32: _WIN32 Windows64: _WIN64 IOS : __APPLE__ androi

原创 佈局技巧 方法二: 方法三:

最近寫網頁經常需要將div在屏幕中居中顯示,遂記錄下幾個常用的方法,都比較簡單: <body> <div class="main"> <h1>MAIN</h1> </div> </body> 方法一: di

原创 用VCPKG補充CMake 1. CMake帶來的改變 2. 自己的庫如何能被find_pakcage(xxx) 3. 如何編寫FindXXX.cmake 4. vcpkg

1. CMake帶來的改變 1.1 依賴關係的思維轉變:用倉庫的概念代替目錄層級依賴 層級依賴: ├── TaihuApp │ └── Qt::Quick │ └── Qt5::Core │ └── Qt

原创 查看所有定義的變量和值

很多時候爲了定位排查問題,在cmake衆多參數設置後,想看某些值最終是什麼,或者想看cmake中定義了多少參數,可以定義一個如下的函數,此函數作用是獲取所有定義的參數並打印。 function(echo_all_cmake_variable

原创 最全的FFmpeg編譯for Android

  首先,如果編譯環境是ubuntu,執行sudo apt install build-essential確保C/C++編譯環境安裝好了。   然後,修改FFmpeg根目錄文件configure裏so生成的文件格式, 爲的是生成的so沒有版

原创 golang創建http service的不同姿勢

  Golang創建Web Server其實很簡單,並不需要象Java一樣依賴配置web.xml、不需要寫servlet、不需要Tomcat、更不需要Spring這類五花八門的第三方框架,Golang創建Web Server只需要Golan