如今,我只是尝试使用一些音频库,而LibXtract是其中之一。在gcc的帮助下,我将LibXtract构建为静态库,一切顺利:)
但是,当我尝试在MSVC中使用lib时,遇到了一个问题:由于lib静态格式在gcc和MSVC之间不兼容,我只是尝试将LibXtract编译为DLL(共享)格式,但是即使我设置了configure标志(--enable-shared),该库仍被编译成静态格式...
有谁知道这件事吗?或者您可以给我一种更好的方法来实现该目标(在MSVC中使用LibXtract)?非常感谢 :)
最佳答案
我搜索了LibXtract代码,发现其中似乎没有dll输出代码,因此我认为LibXtract现在可能可以编译为静态格式,否则您必须修改库代码...(不是这样)当然)
现在,我只是将通过sh ./configure操作生成的原始代码和config.h复制到一个新的VC-Static-library项目中,还修改了许多代码(大多数是强制转换操作)以适合VS编译器,最后我得到了LibXtract.lib,但是我不太确定该更正...但是简单的测试程序似乎还可以:)
关于Andy T提到的主题(感谢您的评论:)),他说在mingw中内置的静态库可以在MSVC中链接,我已经尝试并发现至少有两件事会导致结论失败: