CMake 找不到特定的提升库 (boost_random)
CMake does not find a specific boost library (boost_random)
我知道已经有类似的问题和很好的解决方案;但是,这些解决方案都没有帮助解决我的问题。我正在尝试为我的研究实验建立一个图书馆。此库需要 Boost 1.48 作为其先决条件之一。我在服务器上的个人 Ubuntu 上构建了这个库,一切都很好。我使用以下命令来安装所需的提升库:
sudo apt-get install libboost-all-dev
sudo apt-get install libboost1.48-dev
sudo apt-get install libboost-program-options1.48-dev
sudo apt-get install libboost-system1.48-dev
sudo apt-get install libboost-filesystem1.48-dev
sudo apt-get install libboost-random1.48-dev
sudo apt-get install libboost-thread1.48-dev
现在我必须在另一台服务器上安装此库。我不是这个的管理员;因此我没有足够的权限来安装软件包或使用sudo
.所以我从其网站上下载了 boost 1.48 并将其提取到本地位置。然后,我设置环境变量以解决 boost 本地目录。
export BOOST_ROOT= <"boost extracted directory">
export BOOST_LIBRARYDIR=<"boost extracted directory/lib">
这次CMake找到了除boost_random
之外的所有提升库。
CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1138 (message):
Unable to find the requested Boost libraries.
Boost version: 1.48.0
Boost include path: /home/ME/Research/BOOST/boost_1_48_0
Could not find the following Boost libraries:
boost_random
Some (but not all) of the required Boost libraries were found. You may
need to install these additional Boost libraries. Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost. Call Stack (most recent call first):
CMakeLists.txt:6 (FIND_PACKAGE)
如果您能帮助我解决这个问题,我将不胜感激。
注:cmake -DBoost_DEBUG=ON -DBOOST_ROOT=/home/ME/Research/BOOST/boost_1_48_0/ -DBOOST_LIBRARYDIR=/home/ME/Research/BOOST/boost_1_48_0/libs/ -DBOOST_INCLUDEDIR=/home/ME/Research/BOOST/boost_1_48_0/boost/ .. > out6.txt
报告如下:
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY)
-- [ /usr/share/cmake/Modules/FindBoost.cmake:481 ] _boost_TEST_VERSIONS = 1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48
-- [ /usr/share/cmake/Modules/FindBoost.cmake:483 ] Boost_USE_MULTITHREADED = TRUE
-- [ /usr/share/cmake/Modules/FindBoost.cmake:485 ] Boost_USE_STATIC_LIBS =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:487 ] Boost_USE_STATIC_RUNTIME =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:489 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:491 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:543 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake/Modules/FindBoost.cmake:545 ] BOOST_ROOT = /home/ME/Research/BOOST/boost_1_48_0/
-- [ /usr/share/cmake/Modules/FindBoost.cmake:547 ] BOOST_INCLUDEDIR = /home/ME/Research/BOOST/boost_1_48_0/boost/
-- [ /usr/share/cmake/Modules/FindBoost.cmake:549 ] BOOST_LIBRARYDIR = /home/ME/Research/BOOST/boost_1_48_0/libs/
-- [ /usr/share/cmake/Modules/FindBoost.cmake:551 ] _boost_TEST_VERSIONS = 1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48
-- [ /usr/share/cmake/Modules/FindBoost.cmake:620 ] Include debugging info:
-- [ /usr/share/cmake/Modules/FindBoost.cmake:622 ] _boost_INCLUDE_SEARCH_DIRS = /home/ME/Research/BOOST/boost_1_48_0/boost/;/home/ME/Research/BOOST/boost_1_48_0//include;/home/ME/Research/BOOST/boost_1_48_0/;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake/Modules/FindBoost.cmake:624 ] _boost_PATH_SUFFIXES = boost-1_56_0;boost_1_56_0;boost/boost-1_56_0;boost/boost_1_56_0;boost-1_56;boost_1_56;boost/boost-1_56;boost/boost_1_56;boost-1_55_0;boost_1_55_0;boost/boost-1_55_0;boost/boost_1_55_0;boost-1_55;boost_1_55;boost/boost-1_55;boost/boost_1_55;boost-1_54_0;boost_1_54_0;boost/boost-1_54_0;boost/boost_1_54_0;boost-1_54;boost_1_54;boost/boost-1_54;boost/boost_1_54;boost-1_53_0;boost_1_53_0;boost/boost-1_53_0;boost/boost_1_53_0;boost-1_53;boost_1_53;boost/boost-1_53;boost/boost_1_53;boost-1_52_0;boost_1_52_0;boost/boost-1_52_0;boost/boost_1_52_0;boost-1_52;boost_1_52;boost/boost-1_52;boost/boost_1_52;boost-1_51_0;boost_1_51_0;boost/boost-1_51_0;boost/boost_1_51_0;boost-1_51;boost_1_51;boost/boost-1_51;boost/boost_1_51;boost-1_50_0;boost_1_50_0;boost/boost-1_50_0;boost/boost_1_50_0;boost-1_50;boost_1_50;boost/boost-1_50;boost/boost_1_50;boost-1_49_0;boost_1_49_0;boost/boost-1_49_0;boost/boost_1_49_0;boost-1_49;boost_1_49;boost/boost-1_49;boost/boost_1_49;boost-1_48_0;boost_1_48_0;boost/boost-1_48_0;boost/boost_1_48_0;boost-1_48;boost_1_48;boost/boost-1_48;boost/boost_1_48
-- [ /usr/share/cmake/Modules/FindBoost.cmake:644 ] location of version.hpp: /home/ME/Research/BOOST/boost_1_48_0/boost/version.hpp
-- [ /usr/share/cmake/Modules/FindBoost.cmake:668 ] version.hpp reveals boost 1.48.0
-- [ /usr/share/cmake/Modules/FindBoost.cmake:744 ] guessed _boost_COMPILER = -gcc44
-- [ /usr/share/cmake/Modules/FindBoost.cmake:754 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake/Modules/FindBoost.cmake:797 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake/Modules/FindBoost.cmake:799 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake/Modules/FindBoost.cmake:847 ] _boost_LIBRARY_SEARCH_DIRS = /home/ME/Research/BOOST/boost_1_48_0/libs/;/home/ME/Research/BOOST/boost_1_48_0//lib;/home/ME/Research/BOOST/boost_1_48_0//stage/lib;/home/ME/Research/BOOST/boost_1_48_0/lib;/home/ME/Research/BOOST/boost_1_48_0/../lib;/home/ME/Research/BOOST/boost_1_48_0/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
-- [ /usr/share/cmake/Modules/FindBoost.cmake:957 ] Searching for PROGRAM_OPTIONS_LIBRARY_RELEASE: boost_program_options-gcc44-mt-1_48;boost_program_options-gcc44-mt;boost_program_options-mt-1_48;boost_program_options-mt;boost_program_options
-- [ /usr/share/cmake/Modules/FindBoost.cmake:993 ] Searching for PROGRAM_OPTIONS_LIBRARY_DEBUG: boost_program_options-gcc44-mt-d-1_48;boost_program_options-gcc44-mt-d;boost_program_options-mt-d-1_48;boost_program_options-mt-d;boost_program_options-mt;boost_program_options
-- [ /usr/share/cmake/Modules/FindBoost.cmake:957 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc44-mt-1_48;boost_system-gcc44-mt;boost_system-mt-1_48;boost_system-mt;boost_system
-- [ /usr/share/cmake/Modules/FindBoost.cmake:993 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc44-mt-d-1_48;boost_system-gcc44-mt-d;boost_system-mt-d-1_48;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake/Modules/FindBoost.cmake:957 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-gcc44-mt-1_48;boost_filesystem-gcc44-mt;boost_filesystem-mt-1_48;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake/Modules/FindBoost.cmake:993 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-gcc44-mt-d-1_48;boost_filesystem-gcc44-mt-d;boost_filesystem-mt-d-1_48;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake/Modules/FindBoost.cmake:957 ] Searching for RANDOM_LIBRARY_RELEASE: boost_random-gcc44-mt-1_48;boost_random-gcc44-mt;boost_random-mt-1_48;boost_random-mt;boost_random
-- [ /usr/share/cmake/Modules/FindBoost.cmake:993 ] Searching for RANDOM_LIBRARY_DEBUG: boost_random-gcc44-mt-d-1_48;boost_random-gcc44-mt-d;boost_random-mt-d-1_48;boost_random-mt-d;boost_random-mt;boost_random
-- [ /usr/share/cmake/Modules/FindBoost.cmake:957 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc44-mt-1_48;boost_thread-gcc44-mt;boost_thread-mt-1_48;boost_thread-mt;boost_thread
-- [ /usr/share/cmake/Modules/FindBoost.cmake:993 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc44-mt-d-1_48;boost_thread-gcc44-mt-d;boost_thread-mt-d-1_48;boost_thread-mt-d;boost_thread-mt;boost_thread
-- [ /usr/share/cmake/Modules/FindBoost.cmake:1044 ] Boost_FOUND = 1
-- Configuring incomplete, errors occurred!
See also "/home/ME/Research/CURRENNT/build/CMakeFiles/CMakeOutput.log".
我不确定这是否有帮助,但如果 CMake 使用 makefile 概念,那么这就是我必须添加到我的 makefile 中才能成功编译 boost 的内容(但我使用 Gnu Make,所以再次不确定这是否有帮助):
LDLIBS := -lboost_thread -lboost_system -lboost_filesystem
我猜你需要添加类似-lboost_random
的东西?
- Boost::random::discrete_distribution构建后如何更改权重
- 如何将随机(boost.random)库包装在类中
- 使用 Boost.Random 从种子生成多精度整数
- 可以互换使用boost/random/uniform_int.hpp和boost/random/uniform_int_
- 对 MinGW-w64 gcc 上的 boost::random::random_device 构造函数和析构函数的未定
- boost::random::variate_generator-构造后更改参数
- 使用boost::random库获取整数随机值而不是实数
- 一种在每个不同的程序运行中更改 boost::random 种子的方法
- 使用 boost::random 洗牌向量时出现问题
- 如何使用double[];初始化boost::random::discrete_distribution;
- boost::random::discrete_distribution是否可动态调整大小
- 使用boost::random跨平台生成一致的随机数
- 是boost::random::uniform_real_distribution应该在处理器之间是相同的
- Boost random::discrete_distribution构建后如何更改权重
- 初始化VC2010中的boost::random::discrete_distribution
- 如何使用std::vector初始化boost::random::discrete_distribution
- 多线程RNG从Boost.Random
- 标准多元正态随机向量使用Boost::random
- boost::random和boost:uniform_real适用于doubles,而不适用于float
- 使用 auto 具有 boost::random 的分布函数