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