CMake with boost(在Windows上):找不到库?

时间:2013-01-15 06:17:26

标签: c++ boost cmake shared-libraries static-libraries

我正在尝试使用CMake构建我的项目。我也使用提升。 我的CMakeLists.txt文件中的find package语句是:

find_package(Boost 1.42 REQUIRED COMPONENTS

python

系统

的文件系统

序列化

螺纹

program_options

正则表达式

test_exec_monitor )

构建失败,我得到的错误信息是: 找不到以下Boost库:

      boost_system
      boost_filesystem
      boost_serialization
      boost_thread
      boost_program_options

当我检查我的lib目录时,我发现这些库是按名称命名的: libboost< library_name> -vc100-mt.lib而不是boost_< Library_name>

实际上,当我在lib文件中重命名单个库以符合boost_< LibraryName>前缀,它不会抱怨该库。

我看到两个相同的解决方案:

1.在CMakeLists.txt文件中进行更改,以便搜索具有正确前缀(和后缀)的库。

2.Others

什么是最好的。

1 个答案:

答案 0 :(得分:6)

来自FindBoost.cmake

  

最后三个变量也可用作环境变量:    另外,请注意它们完全是大写的,除了Boost_DIR。

     

Boost_DIR或搜索的首选安装前缀       BOOST_ROOT BOOSTROOT 提升。如果模块在找到正确的Boost安装时遇到问题,请设置此项。

使用这些变量指向安装boost libs的文件夹。例如

  

cmake .. -DBOOST_ROOT = C:/ Boost