在Ubuntu環境下,qt如何呼叫VS2017編譯的靜態庫呢?直接在Ubuntu環境下編譯原始碼,然后能呼叫這個靜態庫嗎?
uj5u.com熱心網友回復:
呼叫靜態庫主要是二進制兼容問題,VS開發經常碰到vc141版本的庫和vc142版本的庫不兼容。所以windows的庫和linux的庫肯定是不兼容的。vc的庫和gcc的庫也肯定是不兼容的。vc或gcc不同版本也可能不兼容(純c的兼容性要好的多,c++不行)。所以,盡可能用同一個編譯器版本的庫。uj5u.com熱心網友回復:
請問我在VS2017寫了一個靜態庫,想在Ubuntu qt下呼叫起來。思路是通過VS2017把靜態庫編譯成.a的外部庫,然后直接其通過qtcreator去配置選擇外部庫,結果還是沒有編譯通過。請問是不是需要在ubuntu環境下靜態編譯qt原始碼,然后配置kit套件,這樣才能編譯通過嗎?然而,問題是,就算要編譯原始碼,ubuntu環境下也沒有VS2017這個命令列工具,編譯出來的庫和配置的kit套件,是否能夠成功呼叫VS2017靜態庫?uj5u.com熱心網友回復:
既然有源代碼,直接把源代碼加入工程里,用qtcreator編譯最好。一定要用庫的話,用gcc編譯成靜態庫也行。gcc的版本得和qtcreator的gcc一致。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/14454.html
標籤:專題技術討論區
上一篇:Linux 無法正常登陸圖形化
