記錄一次使用VS2015編譯錯誤的緣由查找(boost+gdal)

編譯錯誤說明

在一個解決方案中的項目A中使用到了boost,徹底沒有問題。在項目B中也使用了boost庫,編譯的時候就產生了一堆錯誤。
windows

緣由查找

兩個項目經過對比,惟一的不一樣就是項目B使用了gdal庫,經過報錯能夠看到
ui

由於我使用的boost是經過vcpkg安裝的,而GDAL庫是在http://www.gisinternals.com下載的。
下載的GDAL庫中包含了一部分boost庫的內容,而兩個不一樣位置的頭文件內容不同,致使在include的時候沒有使用到正確的那一個頭文件(兩個boost編譯的配置信息不同),因此在編譯的時候致使了錯誤。3d

解決辦法

這裏須要屏蔽掉GDAL\include目錄下的boost相關文件,可是我在VS的工程設置以及cl.exe的參數中都沒有找到禁用某個include目錄的選項。若是不屏蔽也要使得vcpkg安裝的boost庫先被搜索,那麼就須要調整搜索順序,這個也很差弄。
由於gdal中的boost並不被使用,使用直接更名或刪除算了。code

相關文章
相關標籤/搜索