我有一個基於Qt和Google協議緩衝區構建的通信庫。目前正在Windows上使用MinGW/GCC進行構建。我的目標是在.NET上使用C#中的同一個庫,並且使用C++/CLI(使用託管代碼橋接非託管代碼)在頂部的薄包裝器的幫助下。我試圖直接在我的C++/CLI項目中使用MinGW生成的DLL,但我不斷收到鏈接器錯誤(現在不記得錯誤代碼,但有關丟失標記和函數/簽名)。在Visual Studio 2010 C++/CLI項目中使用MinGW/GCC構建的DLL
第一個問題是:我應該能夠使用MinGW生成的DLL與Visual Studio編譯器/鏈接器?還是我需要再次編譯庫,僅對所有項目使用VS編譯器?
如果我應該能夠直接使用MinGW生成的DLL,我如何在Visual Studio 2010中引用它?在項目設置中,它似乎查找* .lib文件,但在MinGW/GCC的輸出中找不到任何.lib文件。它確實產生* .a文件,但似乎像Visual Studio不處理這種類型的文件。
我還應該提到Qt和protobuf也是用MinGW編譯的。但是,如果有必要的話,我當然可以重新編譯VS 2010中的所有部分。儘管保存重新編譯時間會很好,因爲我們的buildserver已經有了使用MinGW的工作設置。
我討厭評論脫離主題,但你能描述一下你在Windows上如何使用MinGW編譯Google Protocol Buffers? – 2010-11-08 17:18:42