我正在開發一個旨在適用於所有平臺(linux,mac和windows)的庫。這個庫基於Qt,它是一個跨平臺的用戶界面庫。我正在使用Mac開發這個庫。我開發的當前版本是一個靜態庫(.a),適用於Linux和Mac。這個.a library
也可以在Windows中工作(比方說使用Visual Studio),還是必須爲此創建單獨的庫類型?如果是的話,我怎樣才能從我的Mac創建Windows靜態庫?爲了您的信息,我正在使用QtCreator IDE來創建靜態庫。一個簡單的指南/代碼示例/有用的鏈接將非常有用。使用qmake開發跨平臺C++靜態庫(通過Mac上的Qt創建器IDE)
1
A
回答
3
首先,如果您想編寫跨平臺軟件,您需要在您定位的平臺上進行測試。如果你沒有Windows電腦來測試,那麼你可以親吻Windows兼容性告別。
其次,Windows確實有靜態庫,但它們使用.lib
擴展而不是.a
。嚴重的構建系統,如qmake應該能夠處理這個問題。如果你告訴它產生一個靜態庫,它將在Windows上生成一個.lib,在其他平臺上生成.aib。
當然,爲了使它與任何東西一起工作,它必須使用與鏈接到的程序相同的編譯器進行編譯。
如果使用GCC(或MinGW,GCC的Windows端口)生成.lib文件,那麼它不能鏈接到Visual Studio項目中,因爲它們使用不同的ABI,不同的標準庫實現和不同的運行時(並且因爲MSVC .lib文件的格式未被記錄並且在編譯器版本之間發生變化)。
但是,由於qmake適用於大多數編譯器,因此在使用Visual Studio生成.lib文件時應該沒有問題。
相關問題
- 1. Qt qmake跨平臺開發
- 2. 構建C++跨平臺靜態庫
- 3. 使用Mac進行跨平臺開發?
- 4. C++跨平臺開發(Windows和Mac OS)
- 5. 開發跨平臺XNA庫
- 6. Qt Creator的VS的Xcode在Mac平臺上Qt開發
- 7. 跨平臺開發建議
- 8. Qt創建器跨開發和Windows DLL
- 9. 有跨平臺庫調用/在C創建過程++
- 10. 使用Xamarin/Visual Studio/Eclipse建議在Mac上進行跨平臺開發
- 11. 跨平臺開發
- 12. 跨平臺開發?
- 13. 跨平臺開發
- 14. Qt跨平臺Windows&Mac:字體大小
- 15. 用於Mac和Windows的跨平臺類庫使用C#
- 16. 好的開始跨平臺ide
- 17. 創建跨平臺庫,使用.NET和Objective-C
- 18. MoSync C++跨平臺的開發
- 19. 基於鏗鏘的跨平臺C++ IDE?
- 20. 創建跨平臺應用
- 21. 跨平臺iOS/Mac OS X Objective-C開發?
- 22. 如何使用預處理器來創建跨平臺庫?
- 23. 跨平臺軟件開發(Mac,Window)languange建議請登錄
- 24. 跨平臺/定義qmake構建配置的機器方式
- 25. 使用GLKit進行跨平臺開發?
- 26. 使用ZeroMQ進行跨平臺開發?
- 27. Android開發跨平臺到iOS平臺
- 28. C++跨平臺動態庫; Linux和Windows
- 29. 學習和跨平臺開發(C++)
- 30. 用於跨平臺插件開發的QT?
如果您使用的是(現代)mac,則可以啓動到多個分區或在虛擬機上啓動另一個操作系統。後者在您開發另一個「系統」時便於構建和單元測試。 – justin
我認爲Qt更喜歡動態鏈接庫,特別是因爲插件(這對插件很有用,...)。 –