在 CMake DLL 中使用通过 MSYS2 Clang64 静态编译的库

问题描述 投票:0回答:0

我已经使用它的指令静态构建了一个开源库。 (MSYS2 + Clang)

这生成了一个

lib.a
文件,我想将其用作我的 CMake 项目的一部分来构建 DLL。

两者都使用 Clang 编译器,因此据我所知它们应该是兼容的。然而,当我为我的 DLL 创建解决方案文件时,我得到了很多未定义的符号错误:

2>lld-link : error : undefined symbol: __mingw_vsnwprintf
...
2>lld-link : error : undefined symbol: wmempcpy

如何将这些依赖项链接为我的 CMakeLists.txt 文件的一部分以消除这些错误?而且,我如何确定需要链接哪些库?

到目前为止,我已尝试通过

"C:/msys64/clang64/bin"
链接在
target_link_libraries
中找到的一些共享库,但我不确定要使用哪些共享库,并且担心使用这些共享库可能会在运行时导致问题,因为其中一个由 msys2 管理,并且一个由 Visual Studio/CMake 管理。

windows cmake clang linker-errors msys2
© www.soinside.com 2019 - 2024. All rights reserved.