2012-04-04 28 views
0

我试图实现一个使用GNU编译器构建的开源库。 (即:这个:https://github.com/mjwybrow/adaptagrams在VS C++项目中使用GNU C++构建的库

我已经尝试打开并使用VSC++ 6构建源代码,但由于VS编译器的严格性质,我猜测它会导致超过一千个错误。相反,然后通过每个错误,并尝试自己修复它,我想知道是否有可能只包含.lib,如果它是用GNU编译器构建的?

编辑:

包括在上述连接源代码是一个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兼容的类似库吗?

+0

why vsC++ 6?它过时了,它的C++实现非常麻烦,而且在很多地方都不符合。使用更新版本的Visual Studio。有免费版本可用。 – smerlin 2012-04-04 16:47:41

+0

这就是我加入公司时应用程序的内容。工作已经开始更新VS版本,但它是一个如此大的应用程序... – ChrisJ 2012-04-05 07:40:44

回答

0

否;您可以使用gcc构建.dll文件,并使用msvc中的.dll文件(可以使用手工制作的包含文件,也可以使用格式正确的包含文件,平台特定的导入/导出宏位于顶部)。

+0

感谢您的回复。我设法使用CygWin来构建库,但是它使用litool生成库,这会导致.la库文件 - 在MSVC中不可用。我在网上发现了一些显示如何构建dll的东西。然而,我现在的问题是,我对GCC编译器和使用的MakeFiles不是很熟悉。我将用更详细的信息来编辑我的帖子...... – ChrisJ 2012-04-05 13:08:28