带有Boost的CMake找不到静态库 [英] CMake with Boost could not find static libraries

查看:270
本文介绍了带有Boost的CMake找不到静态库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用CMake和Boost库时遇到了一些麻烦.我有以下错误:

I have some troubles with CMake and Boost library. I have the following error :

CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindBoost.cmake:1111 (message):   Unable to find the requested Boost libraries.

  Boost version: 1.55.0

  Boost include path: C:/local/boost_1_55_0

  Could not find the following static Boost libraries:

          boost_system
          boost_date_time
          boost_regex

  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):  
CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!

我做了在CMakeLists.txt中找到的所有内容,但无法正常工作,我不明白. 我将Windows 8与Visual Studio 12配合使用,并且Boost安装在默认目录中. (C:/local/boost_1_55_0)

I did everything I found to internet in my CMakeLists.txt but it's not working, I don't understand. I'm using Windows 8 with Visual Studio 12 and Boost is installed in the default directory. (C:/local/boost_1_55_0)

这是我的CMakeLists.txt:

Here my CMakeLists.txt :

cmake_minimum_required(VERSION 2.6)

project (server)

set(BOOST_ROOT "c:\\local\\boost_1_55_0")

set (Boost_USE_STATIC_LIBS ON) set (Boost_MULTITHREADED ON) set
(Boost_USE_STATIC_RUNTIME OFF)

find_package(Boost 1.55 COMPONENTS system date_time regex REQUIRED)
add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})

set(SRCS main.cpp Server.cpp Client.cpp)

set(HEADERS Server.h Client.h)

include_directories(${Boost_INCLUDE_DIR})

add_executable(babel_server ${SRCS} ${HEADERS})

target_link_libraries(babel_server ${Boost_LIBRARIES})

任何人都可以帮助我吗?

Anyone can help me please ?

谢谢

推荐答案

我猜您的编译库不在BOOST_ROOT/lib/文件夹中.在这种情况下,您需要设置lib文件夹目录路径.

I guess your compiled libraries is not in your BOOST_ROOT/lib/ folder. In this case, you need to set your lib folder directory path.

set(BOOST_LIBRARYDIR ${BOOST_ROOT}/stage/lib/)

set(BOOST_LIBRARYDIR path/to/your/lib/folder)

这篇关于带有Boost的CMake找不到静态库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆