視頻上云服務平臺EasyCVR開發程序中,TSINGSEE青犀視頻研發團隊遇到了不少難題,比如呼叫動態庫報“0xC0000005錯誤、設備拉流不穩定等問題,目前都已經得到完美解決,

在開發EasyCVR的部分功能程序中,需要撰寫 C++ 代碼,生成動態庫后,由 Go 語言呼叫,在編譯 C++專案時,出現以下錯誤:
1>D:\Project\cpp\easyface\include\face_file_util.h(94): error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(205): note: 參見“fopen”的宣告

經過分析后,我們排查到主要是 fopen 函式已經被 fopen_s 取代了,所以出現了這種錯誤,fopen_s 相對于 fopen 函式更安全,在內部添加了溢位檢測,
為此我們提出了以下兩種解決方案:
方案一
1、右擊工程,點擊屬性;
2、在配置屬性-C/C+±前處理器中的前處理器定義中添加對應的宏資訊,即可忽略這個錯誤,
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS

方案二
直接使用 fopen_s 函式代替 fopen 函式,
但是 fopen_s 的函式和 fopen 的用法并不相同,所以需要根據實際作業量進行修改,
綜合考慮以上兩種方案,我們決定采用第一種方案解決,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168095.html
標籤:其他
上一篇:php 中使用JWT進行身份驗證
