可以在linux程序中使用msvc来增强build立在Windows上的lib

我在Windows上从源代码构build了boost。 我可以在Windows上编译它。

当我想在linux中编译它时:

无法find请求的Boost库。

升压版本:1.65.1

提升包含path:pathtoproject / deps / boost

找不到以下Boost库:

boost_system 

没有findBoost库。 您可能需要将BOOST_LIBRARYDIR设置为包含Boost库的目录,或者将BOOST_ROOT设置为Boost的位置。

所以我设置了findboostdebugging标志来理解为什么使用

  set(Boost_DEBUG 1) 

在CMake中。 我得到:

Boost_FOUND = 1

但也

searchSYSTEM_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正在寻找名为“ gcc54 ”的库。

但是我的库被命名为“ vc141 ”(msvc)。

所以,它可以工作,或者我需要2增加版本,它可以在两个系统上工作。

除非明确支持,否则通常不能在编译器之间进行混搭。 在这种情况下,它是非常不受支持的。