2011-07-05 46 views
1

我想製作一個應用程序,使用Qt與串口通信。Qt串口庫

問題是,我無法找到一個工程,並做這件事情的圖書館。 我想我需要一個非通用公共許可證庫。

其實我不確定是否因爲我不知道我是否可以使用通用公共許可證庫作爲封閉的源程序。

我找到了qextserialport,但我無法使用Qt 4.7.3構建它。我添加了所有需要的標題,但在某些功能上失敗。

任何人都可以幫助我嗎?

+0

qextserialport應該工作。你有什麼構建錯誤? –

+0

:-1:錯誤:無法找到-lqextserialportd –

+0

搜索路徑中的庫(即''libqextserialportd.a')? http://www.network-theory.co.uk/docs/gccintro/gccintro_21.html –

回答

4

如果您想關閉源代碼並分發您的應用程序,則不能使用GPL。動態連接或靜態連接時,您可以使用LGPL。對於後者,you need to provide object files for all of your code,以便它們可以靜態地與Qt重新鏈接。

由於存在基本問題,Qt 5包含一個串口模塊。在Qt 4上,您需要一個特定於平臺的解決方案。縮小範圍可能有助於向您指出某些事情。我建議如果你不瞄準可移植性,你應該添加相關的標籤和評論。否則,說你需要一個便攜式解決方案也是一件好事。

據我所知,在大多數平臺上,訪問串口需要更高的權限,因此請爲您的部署做好準備。

關於qtextserialport,許可證是BSD,因此它適用於您的clsoed源應用程序。如果你發佈一個編譯問題,它可能會失敗,也許人們可以幫助你

我試圖編譯它使用VC2010和Qt 4.7.2和項目的頭(我剛剛克隆它)編譯完美:我得到一個不錯的qextserialport1.dll(我承認我沒有嘗試使用)。

+0

那麼這個「1」在qextserialport1.dll的末尾讓我嘗試將它追加到我的.pro文件中。有用! –

3

現在有一個QtSerialPort插件可以用於這樣的任務。我是其中的維護者之一。這是現在的「官方」Qt插件,所以我建議切換到它。它也將支持Qt 4。

它對於商業代碼(封閉源代碼)來說是非常有用的,因爲我也一直這樣做。如果我們還沒有靜態鏈接的例外,我甚至會接受,如果合法可行。

我對許可證的看法在LGPLv2和MIT之間,即LGPLv2 +靜態鏈接之間。

在這裏你可以找到我的博客文章。它也適用於Qt 4,因爲我們也在這方面付出了一些努力。

http://lpapp.blogspot.co.uk/2013/02/qtserialport-in-qt-51.html