1

我在一家公司工作,该公司最近购买了带有 SDK 的硬件。不幸的是,所有的 SDK 库都是用 Microsoft Visual C++ 编译器编译的(我不知道是哪一个)并且不能被MinGW使用(我使用 MinGW C++ 编译器在 Code::Blocks 中开发)。

我尝试使用 reimp(来自MinGW 实用程序集合)转换库,该库过去曾与其他供应商的静态库一起使用,但在这种情况下,转换后的库在链接时会导致“未定义引用”错误。

reimp在转换过程中为每个库生成的def文件看起来不太好(它们充满了类似的行??0nameOfFunction@@QEAA@AEBV0@@Z,而在成功转换过程中生成的def文件包含类似的行nameOfFunction@32),所以看起来供应商的库只是一种 reimp 无法转换的类型。

是否有任何其他选项可以让我将这些库与 MinGW 一起使用?如果不是,要求供应商使用 g++ 重新编译他们的库是否合理(即,考虑到这些库最初是使用 MSVC 开发的,他们是否可以这样做)?

任何意见或建议表示赞赏!

4

0 回答 0