參考鏈接
- 《基于 FFmpeg + SDL 的視頻播放器的制作》課程的視頻_雷霄驊的博客-CSDN博客_雷霄驊ffmpeg視頻教程
- 小學期課程資料 - 基于FFmpeg+SDL的視頻播放器的制作.zip_免費高速下載|百度網盤-分享無限制
- 輔助參考鏈接
- VS自動鏈接到Windows上隨vcpkg安裝的SDL2庫 | 碼農俱樂部 - Golang中國 - Go語言中文社區
- Simple DirectMedia Layer - SDL version 2.0.22 (stable)
- Microsoft Visual Studio2019環境下搭建FFmpeg開發環境_MY CUP OF TEA的博客-CSDN博客
注意事項
- vcpkg如果不指定具體安裝方式,默認安裝x86架構的包
- vcpkg本人安裝位置?C:\Users\32157\vcpkg
Win安裝/配置SDL2
- 使用./vcpkg.exe search sdl2 查找sdl2的對應版本
- 本次安裝的是 sdl2 2.0.22#1 x86架構

- 使用命令 ?./vcpkg.exe install?sdl2 進行安裝

- ?將下載的庫集成到全局中
- ./vcpkg.exe integrate install
測試
測試代碼
- 參考鏈接
- 阿里云登錄 - 歡迎登錄阿里云,安全穩定的云計算服務平臺
- SDL 庫安裝、環境配置與使用 - 簡書
- #define SDL_MAIN_HANDLED? 需要加上這句話,否則會出錯
- 顯示 :無法解析的外部符號 _main,該符號在函數 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用?
- //由于SDL內部重新定義了main,因此main函數需要寫成如下形式 int main(int argc,char* argv[])
- 添加 #define SDL_MAIN_HANDLED? 這個之后,即使main函數為空,也不會報錯
測試代碼1
// test_ffmpeg.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。
//
#define SDL_MAIN_HANDLED
#include <iostream>
#include <SDL2/SDL.h>//由于SDL內部重新定義了main,因此main函數需要寫成如下形式
int main(int argc,char* argv[])
{//初始化SDLif ((SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) == -1)) {//初始化失敗,打印錯誤信息std::cout << "Could not initialize SDL:" << SDL_GetError();}else {std::cout << "SDL initialize OK!";}//結束SDLSDL_Quit();return 0;
}// 運行程序: Ctrl + F5 或調試 >“開始執行(不調試)”菜單
// 調試程序: F5 或調試 >“開始調試”菜單// 入門使用技巧:
// 1. 使用解決方案資源管理器窗口添加/管理文件
// 2. 使用團隊資源管理器窗口連接到源代碼管理
// 3. 使用輸出窗口查看生成輸出和其他消息
// 4. 使用錯誤列表窗口查看錯誤
// 5. 轉到“項目”>“添加新項”以創建新的代碼文件,或轉到“項目”>“添加現有項”以將現有代碼文件添加到項目
// 6. 將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”并選擇 .sln 文件

?測試代碼2
// test_ffmpeg.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。
//
#define SDL_MAIN_HANDLED
#include <iostream>
#include <SDL2/SDL.h>//由于SDL內部重新定義了main,因此main函數需要寫成如下形式
int main(int argc, char* argv[])
{SDL_Window* window = SDL_CreateWindow("demo", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);bool quit = false;SDL_Event event;SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);while (!quit) {while (SDL_PollEvent(&event)) {switch (event.type) {case SDL_QUIT:quit = true;break;case SDL_MOUSEMOTION:if (SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(1))SDL_RenderDrawPoint(renderer, event.motion.x, event.motion.y);break;}}SDL_RenderPresent(renderer);SDL_Delay(1000 / 60);}SDL_DestroyWindow(window);SDL_DestroyRenderer(renderer);return 0;
}// 運行程序: Ctrl + F5 或調試 >“開始執行(不調試)”菜單
// 調試程序: F5 或調試 >“開始調試”菜單// 入門使用技巧:
// 1. 使用解決方案資源管理器窗口添加/管理文件
// 2. 使用團隊資源管理器窗口連接到源代碼管理
// 3. 使用輸出窗口查看生成輸出和其他消息
// 4. 使用錯誤列表窗口查看錯誤
// 5. 轉到“項目”>“添加新項”以創建新的代碼文件,或轉到“項目”>“添加現有項”以將現有代碼文件添加到項目
// 6. 將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”并選擇 .sln 文件
