Microsoft Visual Studio2019環境下搭建SDL開發環境

參考鏈接

  • 《基于 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 文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446016.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

不關注公眾號可以獲取openid嗎_微信公眾號粉絲遷移

目錄 [toc] 微信公眾號遷移 正常的公眾號遷移直接通過微信操作就可以&#xff0c;如下圖。但是因為udb數據里面存的是遷移前公眾號的openid以及unionid,需要自行獲取新舊openid以及unionid。 舊的用戶信息要在遷移之前獲取&#xff0c;第三步點擊同意之后就公眾號的接口就調不通…

建筑專業規范大全 2020版_房屋建筑工程現行規范標準目錄匯編(2020版)—建筑電氣...

房屋建筑工程現行規范標準目錄匯編(2020版)建筑電氣規范編號規范名稱GB 50034-2013建筑照明設計標準GB 50052-2009供配電系統設計規范GB 50053-201320kV及以下變電所設計規范GB 50057-2010建筑物防雷設計規范GB 50147-2010電氣裝置安裝工程 高壓電器施工及驗收規范GB 50148-201…

基于Microsoft Visual Studio2019環境編寫ffmpeg視頻解碼代碼

舊代碼 舊代碼使用了很多過時的API&#xff0c;這些API使用后&#xff0c;vs會報編譯器警告 (級別 3) C4996的錯誤即 函數被聲明為已否決 報 C4996的錯誤 // test_ffmpeg.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。 // #define SDL_MAIN_HANDLED …

16進制轉double dotnet_終于把計算機進制弄明白了!

And theres one thing that I need from you我只需要你為我做一-件事Can you come through, through待在我的身邊就好Through, yeah你可以撫慰一切不滿And theres one thing that I need from you你可以過來Can you come through?待在我的身邊嗎-comethruJeremy Zucker進制進制…

FFmpeg源代碼簡單分析-架構圖-解碼

參考鏈接 FFmpeg源代碼結構圖 - 解碼_雷霄驊的博客-CSDN博客_ffmpeg雷霄驊函數背景色 函數在圖中以方框的形式表現出來。不同的背景色標志了該函數不同的作用&#xff1a; 粉紅色背景函數&#xff1a;FFmpeg的API函數。白色背景的函數&#xff1a;FFmpeg的內部函數。黃色背景…

JUnit單元測試筆記

#01 JUnit簡介 1.在項目工程中的Library,add 一個JUnit的Jar包&#xff0c;按需要添加JUnit 3 或 JUnit 4&#xff08;分為被測試類與測試類較佳&#xff09;。 2.單元測試是由程序員完成的。 3.Java 5 之前的版本只能 用JUnit 4前的版本&#xff08;因為JUnit 4用到Java 5的…

jqery獲取每個月天數_三年級《年、月、日》單元重要知識點整理匯總,以及難點題型解析...

昨天給大家分享了《計算經過的時間》問題&#xff0c;今天給大家分享的是《年、月、日》單元中重要的幾個知識點&#xff0c;以及難點題型解析。知識點1 感知年、月、日一、結合生活實際&#xff0c;看看下面事情需要經過多少時間。跑完100米大約需要經過十幾(秒)。2.打一場籃球…

FFmpeg源代碼簡單分析-架構圖-編碼

參考鏈接 FFmpeg源代碼結構圖 - 編碼_雷霄驊的博客-CSDN博客_ffmpeg 源碼函數背景色 函數在圖中以方框的形式表現出來。不同的背景色標志了該函數不同的作用&#xff1a; 粉紅色背景函數&#xff1a;FFmpeg的API函數。白色背景的函數&#xff1a;FFmpeg的內部函數。黃色背景的…

為革命,保護視力——為Eclipse更換暗黑皮膚及編輯頁面的字體顏色主題

1.在Eclipse中的菜單欄的Help -> Eclipse Market 的 Search欄中輸入 Eclipse Moonrise UI Theme &#xff0c;之后自己執生啦&#xff08;確保上網配置正確&#xff09;。 2.與上面操作類似&#xff0c;輸入 Eclipse Color Theme&#xff0c;選擇安裝。 3.選擇菜單欄的Win…

python函數可以作為容器對象嗎_正確理解Python函數是第一類對象

正確理解 Python函數&#xff0c;能夠幫助我們更好地理解 Python 裝飾器、匿名函數(lambda)、函數式編程等高階技術。函數(Function)作為程序語言中不可或缺的一部分&#xff0c;太稀松平常了。但函數作為第一類對象(First-Class Object)卻是 Python 函數的一大特性。那到底什么…

FFmpeg源代碼簡單分析-通用- av_register_all()

參考鏈接 ffmpeg 源代碼簡單分析 &#xff1a; av_register_all()_雷霄驊的博客-CSDN博客_av_register_all()從學齡前開始解讀FFMPEG代碼 之 avcodec_register_all函數_zzyincsdn的博客-CSDN博客

@suppressWarnings(unchecked)及其相關屬性在Java中意思

首先suppressWarnings("unchecked")是JDK1.5中新加入的Annotation語法&#xff0c;用來壓制警告信息的。 編寫代碼時&#xff0c;有時會提示一些警告&#xff08;例如&#xff1a;使用已經廢棄的類&#xff0c;沒有加入泛型等&#xff09;&#xff0c;如果不想讓程序…

FFmpeg源代碼簡單分析-通用-avcodec_register_all()

參考鏈接 ffmpeg 源代碼簡單分析 &#xff1a; avcodec_register_all()_雷霄驊的博客-CSDN博客

pythonsklearn乳腺癌數據集_Python的Sklearn庫中的數據集

一、Sklearn介紹scikit-learn是Python語言開發的機器學習庫&#xff0c;一般簡稱為sklearn&#xff0c;目前算是通用機器學習算法庫中實現得比較完善的庫了。其完善之處不僅在于實現的算法多&#xff0c;還包括大量詳盡的文檔和示例。其文檔寫得通俗易懂&#xff0c;完全可以當…

FFmpeg源代碼簡單分析-通用- 內存的分配和釋放(av_malloc()、av_free()等)

參考鏈接 FFmpeg源代碼簡單分析&#xff1a;內存的分配和釋放&#xff08;av_malloc()、av_free()等&#xff09;_雷霄驊的博客-CSDN博客_av_malloc 內容介紹 內存操作的常見函數位于libavutil\mem.c中本文記錄最常使用的幾個函數&#xff1a; av_malloc()av_realloc()av_mal…

面試題——死鎖的實現

public class DeadLock {public static Object Chopstick_1 new Object();public static Object Chopstick_2 new Object();public static void main(String[] args) {final DeadLock deadLock new DeadLock();// 第一個線程 new Thread(new Runnable() {public void run()…

python回歸分析實驗_python線性回歸實驗

實驗算法python線性回歸實驗【實驗名稱】Python線性回歸實驗【實驗要求】掌握Python線性回歸模型應用過程&#xff0c;根據模型要求進行數據預處理&#xff0c;建模&#xff0c;評價與應用&#xff1b;【背景描述】線性回歸是利用數理統計中回歸分析&#xff0c;來確定兩種或兩…

FFmpeg源代碼簡單分析-通用-結構體分析-AVFormatContext

參考鏈接 FFMPEG結構體分析&#xff1a;AVFormatContext_雷霄驊的博客-CSDN博客_avformatcontext AVFormatContext AVFormatContext是包含碼流參數較多的結構體結構體的定義位于libavformat/avformat.h/*** Format I/O context.//格式化 I/O 上下文* New fields can be added…

log4j詳解與實戰

log4j詳解與實戰 http://www.iteye.com/topic/378077

plsql如何顯示表結構圖_【論文攻略】排版技巧——如何用 Word 編輯參考文獻

每個需要寫畢業論文的朋友都會發現&#xff0c;修改文獻是一件非常痛苦的事情&#xff0c;雖然現在也有很多軟件可以編排參考文獻&#xff0c;其實 word 本身就可以。采用合適的編輯方法會方便地做到整齊,規范, 自動排序和交叉引用。 1. 以尾注的方式插入第一個參考文獻將光標定…