【问题标题】:Using GNU C++ built library in VS C++ project在 VS C++ 项目中使用 GNU C++ 内置库
【发布时间】:2012-04-04 16:08:42
【问题描述】:

我正在尝试实现一个使用 GNU 编译器构建的开源库。 (即这个:https://github.com/mjwybrow/adaptagrams

我尝试使用 VSC++ 6 打开和构建该源代码,但由于我猜想 VS 编译器的严格性质,它会导致一千多个错误。而不是检查每个错误并尝试自己修复它,我想知道如果它是使用 GNU 编译器构建的,是否可以只包含 .lib?

编辑:

上面链接的源代码中包含一个 autogen.sh 文件。

mkdir -p m4
autoreconf --install --verbose
automake -a --add-missing
./configure
make

使用 Cygwin 运行会导致创建一些 .a 库文件,这些文件在 VS 中不可用。 可以将这些重命名为 .lib 文件吗?

我在网上找到了一些关于如何使用 GCC 和创建 DLL 的资料,但我的问题是我对 GNU 编译器或 makefile 或一般的源代码知之甚少,无法更改它现在。

有没有人知道我需要改变什么才能让它正确?或者更好的是,有没有人已经使用这个源代码创建了一个 DLL,可以将它传递给我,或者让我知道我必须做什么?

或者任何人都可以向我指出一个与 Visual Studio 兼容的类似库吗?

【问题讨论】:

  • 为什么选择 vsc++ 6?它已经过时了,而且它的 c++ 实现非常有问题,而且在很多地方都不符合标准。使用更新版本的 Visual Studio。有免费版本。
  • 这正是我加入公司时内置的应用程序。 VS版本的更新工作已经开始了,但是这么大的应用……

标签: visual-c++ dll gnu


【解决方案1】:

没有;但是,您可以使用 gcc 构建 .dll 文件并使用来自 msvc 的 .dll(使用手工制作的包含文件或从一开始就正确格式化的文件,顶部带有特定于平台的导入/导出宏)。

【讨论】:

  • 感谢您的回复。我已经设法最终使用 CygWin 构建库,但它使用 litool 构建库,这会导致 .la 库文件 - 在 MSVC 中不可用。我在网上找到了一些展示如何构建 dll 的东西。然而,我现在的问题是我对 GCC 编译器和使用的 MakeFiles 不是很熟悉。我将编辑我的帖子,提供有关此问题的更多详细信息...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多