Eigen庫和STL容器衝突問題

2022-06-09 21:42:13 字數 312 閱讀 8561

部落格參考:

在程式中想使用類似於如下的容器

std::vectorcentroids;

編譯不通過,主要是訪問centriods的時候,程式直接訪問記憶體錯誤。原因是eigen庫使用了sse加速,需要按照128位對齊,這導致了fixed-size vectorizable eigen object必須16字對齊,例如eigen庫過載了new操作,然而有些情況這寫對齊設定被覆蓋了,造成了上述斷言錯誤。

解決方式

#includestd::vector>

按照以上方式申請容器即可解決

boost庫和Eigen庫衝突的解決

在使用vs2013編寫乙個程式中同時使用boost庫和eigen庫,出現乙個編譯錯誤 錯誤 c2039 setconstant 不是 eigen plainobjectbase 的成員 algodefine d src thirdpartylib eigen include src core cwi...

tensorflow和opencv衝突問題的解決

因為tensorflow和opencv都使用了libjpeg,如果二者在編譯的時候使用的libjpeg版本不對,會導致imread無法成功讀取jpeg檔案。workaround如下 在編譯tensorflow或者tensorflow cc的時候,加上編譯選項 config monolithic 該編...

C 容器(一)C 標準模板庫(STL)和容器

c 標準模板庫其實屬於c 標準庫的一部分,c 標準模板庫主要是定義了標準模板的定義與宣告,而這些模板主要都是類模板,我們可以呼叫這些模板來定義乙個具體的類 使用stl不需要自己手動建立乙個函式模板或者是類模板,這些模板都定義在標準模板庫中,我們只需要學會怎麼使用這些類模板來定義乙個具體的類,然後能夠...