opencv报错—error C2872: ACCESS_MASK: 不明确的符号
生活随笔
收集整理的這篇文章主要介紹了
opencv报错—error C2872: ACCESS_MASK: 不明确的符号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
平時自己的程序在小組的QT項目里邊調試,懶人我突然想把自己那段移出來單獨調試優化,畢竟每次把工程代碼搬來搬去,萬一哪天失手了,不知從何處補救。
在清除掉一些不必要的接口函數還有不必要的參數后,點擊調試,出現這樣一個錯誤提示:
error C2872: ACCESS_MASK: 不明確的符號。
有點懵,來不及懵。
- 當一個函數沒有在編譯頭文件中找到定義時,一般就會報錯:未標識的符號。
- 至于報錯不明確的符號,那可能是因為,工程的編譯文件里有多個該符號定義。
筆者沒那么聰明,是在前輩基礎經驗上總結的。
opencv3.0的cv “ACCESS_MASK”沖突
不想打開鏈接可以直接看原文截圖:
瞧見沒?是因為winnt.h里邊定義了cv,它的cv空間里有一個符號叫ACCESS_MASK;
opencv函數里邊也定義了命名空間cv,它的cv空間里也有一個符號叫ACCESS_MASK。
那么我的項目如果同時包含這兩個頭文件,計算機是否知道我要調用哪個ACCESS_MASK嗎?
回想平時寫代碼習慣性的:
using namespace std; using namespace cv;因為opencv里邊很多函數,諸如imread,imshow,waitkey,Rect,Point,在使用頻率上比較高,每次把它所在的命名空間書寫有點麻煩,所以就習慣性的一次性了。
可惜懶人沒懶福,這樣的報錯遇到過很多次,一直在回避。
改完這六百多個報錯,以后還是一次性寫清楚吧,不要給自己留隱患了。
總結
以上是生活随笔為你收集整理的opencv报错—error C2872: ACCESS_MASK: 不明确的符号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 江苏统考计算机英语作文,2017年高考江
- 下一篇: 用Python画环环相扣的奥运五环