簡體   English   中英

find_package(Boost)返回空的Boost_LIBRARIES

[英]find_package(Boost) returns empty Boost_LIBRARIES

cmake版本3.8.2

我有一個奇怪的問題。 當我執行find_package(Boost) ,Boost_LIBRARIES為空。 但是當我執行find_package(Boost REQUIRED filesystem) ,Boost_LIBRARIES變量顯示相應的庫。

在這兩種情況下,都找到了Boost,因為它表明Boost版本是1.64。

需要

-- Boost version: 1.64.0
-- Found the following Boost libraries:
--   filesystem
--   system
       Boost_INCLUDE_DIRS: /usr/local/include
       OpenCV_INCLUDE_DIRS: /usr/local/include;/usr/local/include/opencv
       Boost_LIBRARIES: /usr/local/lib/libboost_filesystem.so;/usr/local/lib/libboost_system.so
       OpenCV_LIBRARIES: opencv_calib3d;opencv_core;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab

沒有要求

-- Boost version: 1.64.0
       Boost_INCLUDE_DIRS: /usr/local/include
       OpenCV_INCLUDE_DIRS: /usr/local/include;/usr/local/include/opencv
       Boost_LIBRARIES: 
       OpenCV_LIBRARIES: opencv_calib3d;opencv_core;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab

不應該是boost庫,也只顯示庫而不是整個路徑,比如opencv?

雖然我在同一個文件夾中有program_options,但Boost無法找到它並且cmake會拋出錯誤。

  Could not find the following Boost libraries:

          boost_program_options

請看ll。

truncated ll output.....
-rw-r--r-- 1 root root 1558464 Aug 12 06:23 /usr/local/lib/libboost_program_options.a
lrwxrwxrwx 1 root root      34 Aug 12 06:23 /usr/local/lib/libboost_program_options.so -> libboost_program_options.so.1.64.0*
-rwxr-xr-x 1 root root  658920 Aug 12 06:23 /usr/local/lib/libboost_program_options.so.1.64.0*

無論是否存在,它總是空的。

Mac High Sierra / CMake 3.10.1。

這似乎是FindBoost.cmake的一個錯誤

暫無
暫無

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

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