我用MingW/MSYS编译了几个库...生成的静态库总是.a文件。 当我尝试将库链接到MSVC项目时,Visual Studio会抛出'未解析的外部符号'...这意味着.a静态库与MS C++ Linker不兼容。我认为它必须转换为MSVC兼容的.lib文件。如何在MSVC中使用用MingW编译的库?
.a和.lib只是AR档案的.o或.obj文件,那么有没有办法如何在MSVC项目中使用MingW编译的库?或者我必须编译/链接所有东西,只需要一个编译器/链接器 - 仅限MSVC /仅限于MingW?据说MingW编译器与MSVC兼容。
我读了一些关于这个主题的线索,但他们大多数人说,将文件重命名为.lib应该能够完成这项工作,但不幸的是它不适用于我。
我试着去链接的库是用C写
MSVC链接抛出这样的错误:
error LNK2019: unresolved external symbol "int __cdecl openssl_call(struct ssl_State *,int,int,int)" ([email protected]@[email protected]@[email protected]) referenced in function _main MyAPP.obj
...和4个指从我的应用程序调用的其他功能同样的错误。
感谢您的任何建议。
难道你不能编译MSVC上的一切吗? –
“.a和.lib只是.o或.obj文件的AR存档”您确定msvc的静态.lib文件就像.a“ar”存档一样吗? –
看起来像这个问题(和答案)是特定于C而不是C++ ......你能证实吗? – d3vid