找不到boost_thread和boost_system
CMake not finding boost_thread and boost_system
我看到至少有5个题目与这个题目相同。他们每个人都有一个不同的答案,适用于OP,但不适合我,所以我很抱歉重复这个问题。
我试图在windows 8上使用http://www.cgal.org/download/windows.html安装CGAL。
我已经完成的步骤:
1)在"C:devlibboost_1_55_0"目录下安装"boost_1_55_0-msvc-9.0-64.exe"
2)增加以下两个系统环境变量:BOOST_LIBRARYDIR = C: 开发 libboost_1_55_0 lib64 - msvc - 9.0BOOST_INCLUDEDIR = C: 开发 libboost_1_55_0
3)我添加到我的PATH环境变量"C:devlibboost_1_55_0lib64-msvc-9.0"
4)我安装CGAL在"C:devCGAL-4.0"
我安装了Cmake6)打开CMake-GUI,将C:devCGAL-4.0设置为源代码,将C:devCGAL-4.0build设置为二进制文件
7)点击"配置",选择"Visual Studio 12 2013"当我单击configure时,我得到以下输出:
== Setting paths ==
Build CGAL from release in directory CGAL-4.0
Packagenames: CGAL-4.0
== Setting paths (DONE) ==
== Generate version files ==
CGAL_MAJOR_VERSION=4
CGAL_MINOR_VERSION=6
CGAL_BUGFIX_VERSION=1
CGAL_SONAME_VERSION=11
CGAL_SOVERSION =11.0.0
CGAL_REFERENCE_CACHE_DIR=
Building shared libraries
Targetting Visual Studio 12 2013
Target build enviroment supports auto-linking
Using VC12 compiler.
Generator uses intermediate configuration directory: $(Configuration)
USING CMake version: 3.2.3
System: Windows
CMake Warning (dev) at CMakeLists.txt:438 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.
== Generate version files (DONE) ==
== Set up flags ==
Build type: Release
USING CXXFLAGS = ' /DWIN32 /D_WINDOWS /W3 /GR /EHsc -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS /fp:strict /fp:except- /wd4503 /bigobj /MD /O2 /Ob2 /D NDEBUG'
USING LDFLAGS = ' /machine:X86 /INCREMENTAL:NO'
== Set up flags (DONE) ==
== Detect external libraries ==
External libraries supported: GMP;MPFR;ZLIB;OpenGL;LEDA;MPFI;RS;RS3;OpenNL;Eigen3;BLAS;LAPACK;QGLViewer;ESBTL;Coin3D;NTL;IPE
Preconfiguring library: GMP ...
GMP has been preconfigured:
UseGMP-file:
GMP include: C:/dev/CGAL-4.0/auxiliary/gmp/include
GMP libraries: C:/dev/CGAL-4.0/auxiliary/gmp/lib/libgmp-10.lib
GMP definitions:
USING GMP_VERSION = '5.0.1'
Preconfiguring library: MPFR ...
MPFR has been preconfigured:
UseMPFR-file:
MPFR include: C:/dev/CGAL-4.0/auxiliary/gmp/include
MPFR libraries: C:/dev/CGAL-4.0/auxiliary/gmp/lib/libmpfr-4.lib
MPFR definitions:
USING MPFR_VERSION = '3.0.0'
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindBoost.cmake:1182 (message):
Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: C:/dev/libboost_1_55_0
Could not find the following static Boost libraries:
boost_thread
boost_system
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/modules/CGAL_SetupBoost.cmake:6 (find_package)
cmake/modules/CGAL_SetupDependencies.cmake:85 (include)
CMakeLists.txt:640 (include)
Boost include: C:/dev/libboost_1_55_0
Boost libraries:
Boost definitions:
USING BOOST_VERSION = '1.55.0'
== Detect external libraries (DONE) ==
== Write compiler_config.h ==
CMake Warning (dev) at CMakeLists.txt:670 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Quoted variables like "CGAL_CFG_BOOST_VARIANT_SWAP_BUG" will no longer be
dereferenced when the policy is set to NEW. Since the policy is not set
the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.
== Write compiler_config.h (DONE) ==
== Generating build files ==
Configuring libCGAL
Requested component: MPFR
Requested component: GMP
libCGAL is configured
Sources for CGAL component library 'CGAL_Core' detected
Configuring libCGAL_Core
Requested component: MPFR
Requested component: GMP
libCGAL_Core is configured
Sources for CGAL component library 'CGAL_ImageIO' detected
Configuring libCGAL_ImageIO
Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
OpenGL include:
OpenGL libraries: glu32;opengl32
Requested component: MPFR
Requested component: GMP
libCGAL_ImageIO is configured
NOTICE: libCGAL_ImageIO needs ZLib to read compressed files. That feature will not be activated.
Sources for CGAL component library 'CGAL_Qt3' detected
Sources for CGAL component library 'CGAL_Qt4' detected
Sources for CGAL component libraries 'CGAL_Core;CGAL_ImageIO;CGAL_Qt3;CGAL_Qt4' detected
== Generating build files (DONE) ==
Configuring incomplete, errors occurred!
See also "C:/dev/CGAL-4.0/build/CMakeFiles/CMakeOutput.log".
See also "C:/dev/CGAL-4.0/build/CMakeFiles/CMakeError.log".
我遇到"错误在配置过程中,项目文件可能无效"的消息。有什么问题吗?
确保构建了这些库。必须建立System
和Thread
。因此,仅仅包括头文件是行不通的。使用b2
脚本/批处理来构建静态或共享库
您将boost_1_55_0-msvc-9.0-64.exe(正如msvc-9.0的名称)与Visual Studio 12 2013合并,因此您将没有正确的lib和dll文件。
作为旁注或问题:您为什么使用CGAL 4.0 ?这是超过3年的旧代码。
相关文章:
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- 使用单独的参数调用"boost::process::system()"时,获取"execv
- 摆脱 TCP 代理中的提升依赖关系. boost::system::error_code等效
- C++ Boost:在Windows中对boost::system::generic_category()的未定义引用
- 对"boost::system::system_category()"的未定义引用
- boost::system::generic_category 静态链接后未定义
- Cmake找不到boost库文件,线程,date_time,iostreams,system
- 对 boost::system 的未定义引用
- OS X, CMake, Boost: 未定义的架构符号 x86_64: "boost::system::detail::generic_category_instance"
- C++ Boost:未定义的对 boost::system::generic_category() 的引用
- boost::system::error_code::message()引发了带有boost::asio套接字的访问冲突
- 在C++中使用“boost::system::error_code”
- C++运算符()重载boost::system::error_code技巧
- 编译时未定义对boost::system::system_category()的引用
- 使用QtCreator为android构建boost_ALL_NO_LIB时,未定义对boost::system::sy
- 对boost::system::generic的另一个未定义引用
- 对'boost::system::system_category()'的未定义引用
- 如何在boost::system库中使用error_condition
- 使用boost::asio::write()永远不会设置boost::system::error_code