我使用供应商提供的库C++ program
。所有供应商的供应是.lib, .dll and the header files.
供应商如何提供C++库支持多个编译器?
该库最早是在MSVC++ 6
使用,现在MSVC 2010.
看样子他们支持的MinGW,QT等我曾与在调试或发布模式下使用它没有问题。
我最近添加了另一个依赖项目yaml-cpp
,这是一个没有提供二进制文件的开源项目。我可以使用cmake和MSVC 2010作为静态库来构建yaml-cpp,并且可以成功将它链接到我的项目。
为了做到这一点我必须链接到调试和发布版本.lib
分别为我已经运行到怪异微软CRT /连接器的问题,我只是学习的。
我很好奇,请问我的第一个库(libXl如果你是好奇)的供应商提供.lib and .dll
上一系列的编译器的工作,而不必担心CRT版本?
你如何编写允许这样做的代码还是链接过程? yaml-cpp
是一个跨平台库,我能否以类似的方式编译它,使我可以在我的项目中使用一个.lib文件?
我不确定寻找哪些资源来了解更多信息。人们如何学习这种东西?谢谢!
据我所知,创建一个新的lib项目,所有的设置应该没问题。有几个开关可以像/ MT一样更改,但除此之外都是标准的。如果你使用yaml和他们提供的项目,那么他们可能会有一些遗留的编译器开关,你应该尝试为该lib创建一个新项目。 – Raxvan
如果该库适用于MSVC++ 6和MSVC 2010,那么很可能不是C++库,而是一个C库。 C++运行时库对于每个MS版本都非常具体,并且据我所知不能混杂在一起。 –