C++ 未定义对`u std_terminate';

C++ 未定义对`u std_terminate';,c++,visual-c++,cmake,C++,Visual C++,Cmake,我正在构建一个Win32 C++库,用MSVC链接到其他代码。构建是由CMake设置的,我正在生成一个使用/MT运行时编译的.lib。生成共享库已关闭 当我将这个库链接到一个外部C程序(好吧,这不是真正的C,这是发出C代码的基本方言,但我离题了)时,我会得到以下链接器错误的倍数: undefined reference to `__std_terminate' undefined reference to `_Smtx_lock_exclusive' undefined reference to

我正在构建一个Win32 C++库,用MSVC链接到其他代码。构建是由CMake设置的,我正在生成一个使用/MT运行时编译的.lib。生成共享库已关闭

当我将这个库链接到一个外部C程序(好吧,这不是真正的C,这是发出C代码的基本方言,但我离题了)时,我会得到以下链接器错误的倍数:

undefined reference to `__std_terminate'
undefined reference to `_Smtx_lock_exclusive'
undefined reference to `??3@YAXPAXI@Z'
undefined reference to `@__security_check_cookie@4'
undefined reference to `__CxxFrameHandler3'
所有这些都让我相信,在我构建这个库时,有些东西实际上并不是静态链接的


有人知道我遗漏了什么吗?

首先,该.lib只包含您的代码。然后,当连接C程序时,.LIB和C运行时链接,但是代码仍然缺少C++运行时的符号。作为解决方案,将C程序链接为C++或明确地拉入C++运行时。