假设我已经阅读过这个警告,我仍然希望将TBB用作静态链接库.(假装我在一个不允许用户创建自己的dylib 的环境中工作.)但我真的不想重写TBB makefile来生成libtbb.a而不是libtbb.dylib.
是否有一个简单的命令行方式将libtbb.dylib转换为libtbb.o并使用相同的入口点?
我听到了一个很好的论据,因为从静态到动态不能走另一条路.即:动态库需要是PIC,将非PIC静态库转换为PIC是不可行的.但据我所知,这一论点并不适用于其他方向.
这里有人说在Windows上将.dll转换为.a是不可能的,但我认为他们只是在讨论将.dll或.exe备份到其原始.o文件中的不可能性,并不一定说它不可能创建具有相同内容的可链接.o文件.此外,Windows上的情况比"真正的"PIC稍微有些奇怪,尽管我认为这并不重要.