我一直在使用C++的套接字库。其他一些信息:32位Linux,Codelite和GCC工具集。我希望能够使用Codelite的Windows版本编译我的Windows程序。我一直使用的套接字库没有库的mingw32版本,但它是开源的。那么我怎样才能让套接字库的mingw32版本生成,这样我就可以使用提供的源代码创建一个windows版本?为mingw编译linux库
1
A
回答
0
您将其移植到新平台。 :)
你很幸运,它是开源的,因为那样几乎不可能移植它(你必须支付$$$才能获得特定许可证的代码副本,或者重写整个产品)。
享受。
或者,他们可能已经有一个端口...检查您正在使用的库的文档。
0
首先你需要确保你没有包含任何Linux特定的库。
1
大多数开源的linux库都是用make build系统构建的(虽然其他的像jam等,还有自定义的编写脚本)。 MinGW附带make实用程序,它是mingw32-make.exe。有可能(如果你幸运的话)简单地在Windows上重建库。
更常见的情况是,您需要先配置项目,然后才能构建它。 Windows Shell不支持配置所需的脚本要求,但MinGW项目的另一部分叫做MSYS。如果您安装了msys和所需的所有工具,则可以在运行make之前配置您的项目。
当然,以上只适用于库被编写为便携式。 Linux套接字实现(sys/socket.h)和Windows实现(winsock2.h)之间存在一些突破性差异。您可能被迫编辑代码块以确保它的平台版本正确(或者所需的任何依赖关系也是为Windows构建的)。
此外,该库可能已经为Windows构建,但使用不同的编译器(如生成.lib和.dll文件的MSVC)。 Mingw需要用于库的.a文件,但一个聪明的特性是能够直接与.dll链接,而不需要导入库,所以你可以经常使用一个不是针对Mingw构建的现有Windows库(尽管这赢得了对静态链接没有帮助)。还有一个工具,dlltool,它可以将.lib转换为.a。
如果您提供关于您正在使用的特定库的详细信息,我可能会为您挑选在Win上运行它需要做的事情。
相关问题
- 1. 在linux中用mingw编译opengl
- 2. 库问题和Mingw-gcc在Linux上交叉编译Win32代码
- 3. py2exe mingw编译
- 4. MinGW编译错误
- 5. 用mingw编译Ogitor
- 6. 用MinGW编译JNI
- 7. MinGW编译问题
- 8. MinGW Windows.h不编译
- 9. 用mingw编译cdrtools
- 10. 使用MinGW编译时链接GLEW库
- 11. GMP库,C++编译错误,MinGW,Code :: Blocks
- 12. Linux编译 - 冲突的库
- 13. Linux交叉编译库
- 14. 在MinGW中编译Ruby 1.9.1
- 15. 在MinGW中编译SQLite3
- 16. MinGW编译过分缓慢
- 17. 在MinGW上编译openscenegraph
- 18. 使用MinGW分别编译
- 19. 用mingw和eclipse编译dll
- 20. 用CMake和minGW编译OpenCV
- 21. Troubling用MinGW编译wxWidgets
- 22. MinGW编译器套件
- 23. MinGW boost random_device编译错误
- 24. Winpcap MinGW编译错误
- 25. 用mingw-w64编译boost
- 26. 在Linux上使用mingw交叉编译Direct3D
- 27. MingW GCC在linux上编译用于windows的SDL程序?
- 28. 在mingw中编译段错误,但在linux上不是gcc。
- 29. 编译mysql连接器用mingw编译C++,编译错误
- 30. 为Ubuntu编译python linux,cx_python
我检查了图书馆的文档和他们没有任何的mingw32。那么,我该如何“移植”图书馆,我需要采取哪些步骤? – TheFuzz 2010-12-22 02:35:55