1

是否可以在将 GCC 用作编译器(反之亦然)的项目中使用使用 VisualC++(因此带有 .lib 扩展名)编译的代码(和库)?还是我必须重建它们?
我正在尝试在一个以 GCC 作为编译器的项目中使用我用 VisualC++ 编译的 SOCI 3.1 库,但我遇到了一些错误,我不知道为什么..

4

1 回答 1

1

您必须使用 MinGW 工具为 GCC 生成二进制文件:reimp 和 dlltool。这是 MinGW wiki,其中包含完整的程序说明:MSVC 和 MinGW DLLs

简短的例子:

reimp -d libmysql.lib
dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a
reimp libmysql.lib

顺便说一句,这里是 SOCI 用户邮件列表上的相关线程:MySQL Build failed 。寻找线程中给出的有用链接。

于 2013-02-13T01:28:54.280 回答