我一直在使用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