【发布时间】:2021-11-12 20:42:35
【问题描述】:
我需要完全静态的解决方案(静态库),没有任何 DLL 依赖项。这样我的最终 EXE 就不会依赖于任何外部(非系统)DLL。
如果构建 GMP 需要 Cygwin 或 MSYS,我没问题,只要它可以稍后在 MSVC 中使用而不会出现任何问题。但据我所知,至少 Cygwin 构建始终依赖于额外的 DLL,例如 cygwin1.dll,这对我来说是负担不起的,因此需要完全静态库的解决方案。
我知道存在对 Windows 更友好的 MPIR 库。但如果可能的话,我现在需要专门的 GMP 解决方案。
如果在为 Windows 构建时使用所有优化和组装当然会很棒。但如果无法组装,那么至少需要 GMP 的非组装(通用)变体。
当然我需要 64 位版本。
如果有人可以发布为 MSVC 使用生成此类静态库所需的所有步骤?或者也许链接一些有此类说明的网站?
【问题讨论】:
-
msys2 不提供预建的静态库吗?
-
@MarcGlisse MSYS/Cygwin 都有预建库。但我的问题的主要思想是如何构建可以直接在 MSVC 中使用的 GMP。不知道 MSYS 的版本库能不能直接在 MSVC 中使用?至少它有
.a扩展名,这意味着应该重新打包到.lib以供MSVC 使用。但是是否足以重新打包以在 MSVC 中毫无问题地使用它?另外,也许我错了,由于某些原因,MSYS/Cygwin 构建不能直接在 MSVC 中使用。还有.a解包后的存档有.o对象,如果打包成.lib,它们是否与MSVC兼容?
标签: c windows visual-c++ build gmp