0

更具体地说,我在 MingW 环境中使用了 visual-c++。我有一个这样定义 LDFLAGS 的生成文件:

LDFLAGS="-MACHINE:X64 -OPT:REF,ICF -FORCE libtcmalloc_minimal.lib -INCLUDE:__tcmalloc"

如果我以这种方式构建程序,则需要将 libtcmalloc_minimal.dll 与程序一起分发。

我假设这是否是 GCC 或我使用的类似-static,但该标志不被 visual-c++ 识别。有没有办法强制这个库静态实现?

4

1 回答 1

1

这里的问题是 a.lib可以是静态库或 DLL 的导入库。在第一种情况下,它以与 Linux 上文件相同的方式链接到二进制.a文件中,解析地址,删除不需要的代码等。在第二种情况下,.lib文件作为 DLL 的存根,没有它就无法运行。您需要为您的库获取正确的版本(如果存在)然后与之链接,您不能使导入库的行为像静态库一样。

于 2014-12-13T12:20:58.330 回答