假设我已经阅读了这个警告,并且我仍然想使用 TBB 作为静态链接库。(假设我在不允许用户创建自己的 dylib的环境中工作。)但我真的不想重写 TBB makefile 来生成 libtbb.a 而不是 libtbb.dylib。
是否有一种简单的命令行方法可以将 libtbb.dylib 转换为具有相同入口点的 libtbb.o?
我听到了一个很好的论据,不能从静态到动态。即:动态库需要是PIC,将非PIC静态库转换为PIC是不可行的。但据我所知,这个论点并不适用于另一个方向。
有人说在 Windows 上将 .dll 转换为 .a 是不可能的,但我认为他们只是在谈论不可能将 .dll 或 .exe 破坏回其原始 .o 文件,不一定说这是不可能的创建具有相同内容的可链接 .o 文件。此外,Windows 上的情况比“真实” PIC 稍微奇怪,尽管我认为这无关紧要。