我在Windows上从源代码构建了boost。我可以在windows上用它编译。</ p>
当我想在linux中使用它编译时:
无法找到请求的Boost库。
Boost版本:1.65.1
Boost包含路径:pathtoproject / deps / boost
无法找到以下Boost库:
boost_system
找不到Boost库。您可能需要设置BOOST_LIBRARYDIR 到包含Boost库或BOOST_ROOT的目录 Boost的位置。
所以我设置了findboost调试标志来理解使用
的原因 set(Boost_DEBUG 1)
在CMake中我明白了:
Boost_FOUND = 1
但也
搜索SYSTEM_LIBRARY_RELEASE:boost_system-gcc54-mt-1_65_1; boost_system-gcc54-mt; boost_system-mt-1_65_1; boost_system-mt; boost_system
这意味着cmake正在寻找名为&#34; gcc54 &#34;的其他人。
但是我的libs被命名为&#34; vc141 &#34; (MSVC)。
它可以工作还是我需要2个boost版本才能在两个系统上工作。
答案 0 :(得分:1)
除非明确支持,否则您通常无法在编译器之间进行混合和匹配。在这种情况下,它非常不受支持。