簡體   English   中英

CMake沒有使用正確的Boost庫

[英]Cmake not using the right boost library

我有兩個版本的boost:

  • 第一個(我想來自xcode)在/usr/local/include/boost/usr/local/lib/boost

  • 第二個(來自自制程序)在/usr/local/Cellar/boost/1.54.0/include/boost/usr/local/Cellar/boost/1.54.0/lib包含文件

當我想使用第二個文件時,我調用cmake創建我的makefile,並以此方式編譯項目:

cmake -DBOOST_ROOT=/usr/local/Cellar/boost/1.54.0/ .
make

我得到這個錯誤:

/usr/local/include/boost/functional/hash/extensions.hpp:54:17: error: 
  variable 'hash_value' declared as a template
std::size_t hash_value(std::list<T, A> const& v);
            ^

顯然,使用的增強版本不是我使用BOOST_ROOT提到的增強版本。 如何確保使用的Boost版本是/usr/local/Cellar/boost/1.54.0/

提前致謝

我的猜測是,您還有另一個在標志中需要-I/usr/local/include/依賴項,並且-I標志在-I/usr/local/Cellar/boost/1.54.0/include之前已被編譯器看到-I/usr/local/Cellar/boost/1.54.0/include

使用以下命令調試編譯過程:

make VERBOSE=1

查看使用的編譯命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM