2014-04-04 55 views
2

我已成功設法使用MSYS 1.0(C:\msys\)和Qt 5.2軟件包中的MinGW(C:\Qt\Qt5.2.1\)在these steps之後在WIndows XP上構建Protobuf。如何正確鏈接第三方庫(如protobuf)到Qt Creator項目中?

結果是我在C:\msys\local\lib

  • libprotobuf-8.dll(7,9MB)
  • libprotobuf-精簡版-8.dll(0,9MB)
  • libprotobuf以下8個文件-lite.a(1,1MB)
  • libprotobuf-lite.dll.a(0,3MB)
  • libprotobuf-lite.la(1KB)
  • libprotobuf.a(10,3MB)
  • libprotobuf.dll.a(2MB)
  • libprotobuf.la(1KB)

哪個是正確的文件,我需要在我的Qt項目中,在它和如何正確地鏈接到包括(在Qt Creator的「包含庫嚮導」中有三個選項)。最佳做法是什麼?

+0

儘管我的答案,protobuf是一個無人維護的舊。我會建議看看capnproto。 – lpapp

+0

由於與其他應用程序的兼容性,我必須使用protobuf。但是,謝謝你的提示! – Kousalik

回答

1

只需使用:

LIBS += -lprotobuf ... 

等我的地方,如果他們只使用你的項目旁邊的二進制的DLL。

+0

這是我第一次嘗試,不幸的是它沒有工作。但我已經知道了。您必須將msys/local/include和libs中的頭文件從msys/local/lib複製到Qt \ ... \ mingw \ local和lib中。然後它工作。 – Kousalik

+0

@Kousalik:適合我。此外,你應該提供你曾經試過的一切,不要浪費別人的時間。 – lpapp

+0

對不起。我究竟做錯了什麼 ?當我按照上面提到的protobuf生成步驟,然後我得到錯誤:谷歌/ protobuf /存根/ common.h:沒有這樣的文件或目錄 #包括<谷歌/ protobuf /存根/ common.h>。當我將msys/lib;/include中的相關文件手動複製到MinGWs/lib;/include中時,一切正常。然後它工作正常,但這一步沒有提到任何地方。我認爲--prefix ='cd/mingw; pwd -W'應該完成這項工作,但它沒有。 – Kousalik

相關問題