2013-07-08 26 views
-1

我想要一步一步的建议/教程如何编译一个开源的lib从linux到Windows。我已经阅读并尝试了很多从谷歌搜索中获得的东西,但都没有成功。 (从Linux交叉编译,尝试MinGW/MSys)。如何编译从C++(或本机c)从Linux到Windows编写的库?

所以,如果你们中的任何可以引导我成功编译此: http://sourceforge.net/projects/libofx/files/?source=navbar

我的目标是产生一个编译工具链产生.dll和导入库(.dll.a)与使用代码块。

任何帮助非常感激

新芬”


编辑

奥凯终于在建设既OpenSP的1.5.2,并与自动工具,在./configure最新libofx成功,有些补丁上找到网络+我自己做的一些小的修复。

感谢所有积极响应和帮助的人。

+4

听起来像一大堆工作,方式太广泛。 – chris

+0

您是否尝试用MinGW + MSYS构建它?任何错误?如果这样做不成功,那么你仍然可以尝试用cygwin构建它。 – Thomas

+0

如果你想制作一个在Windows上运行的DLL,MinGW真的是要走的路。查看我的项目[ojrandlib](http://github.com/lcrocker/ojrandlib),它将编译到Linux和Windows上的共享库中。 –

回答

0

如何安装

http://www.mingw.org/wiki/InstallationHOWTOforMinGW

如何使用

http://www.mingw.org/wiki/MinGW_for_First_Time_Users_HOWTO


MinGW的是,在Windows(TM)的顶部运行的GNU开发的命令行环境。对于Linux开发者来说,shell对makefile,Compilers和shell scrips等事物非常有用。所以MinGW是一个方便的工具,它为Windows提供了一个简单的shell环境(所以你可以在windows上进行命令行开发)。

MinGW是有用而紧凑的工具。 下面是如何使MinGW的DLL的演练
http://www.mingw.org/wiki/sampleDLL

g++ -c -DBUILDING_EXAMPLE_DLL example_dll.cpp 
g++ -shared -o example_dll.dll example_dll.o -Wl,--out-implib,libexample_dll.a 

cywin是那种喜欢MinGW的,B/C他们俩给你一个壳一样,对windows.MinGW命令行环境给你一些工具,Cywin为您提供所有工具。 cywin更大,并试图成为一个完整的posx版本的Linux。

下面是一个cygwin DLL walkthough http://cygwin.com/cygwin-ug-net/dll.html

gcc -c mydll.c 
gcc -shared -o mydll.dll mydll.o 
+0

这个答案听起来像“雅虎答案”。 Stackoverflow有一个提供广泛和很好解释的答案的声誉。请为OP增加更多解释。如果他不了解MinGW,那么关于它是什么以及它是如何工作的简短描述会有很大帮助。 – Manu343726

+0

您的评论很公平,我在回答中添加了一些有意义的文字。我会尽力避免给予“雅虎的回答”像SO –

+0

好的答案。感谢您的更改。 Downvote删除:) – Manu343726

0

注意,它不是普遍可以将C/C++库从一个操作系统转换到另一个的链接。即使你有源代码。

可以试试。您所需要的只是一个用于编译C/C++代码的C/C++编译器,但这些程序所具有的依赖性多次不会被目标操作系统满足。

即使从Linux到OS X,也有可能导致C++程序无法编译的差异。我遇到了一些这种情况。OS X没有实现我想要编译的程序所需的一些可选C++线程功能。

这正是Java和Python等语言流行的原因。