2012-04-04 52 views
0

我試圖實現一個使用GNU編譯器構建的開源庫。 (即:這個:https://github.com/mjwybrow/adaptagrams在VS C++項目中使用GNU C++構建的庫

我已經嘗試打開並使用VSC++ 6構建源代碼,但由於VS編譯器的嚴格性質,我猜測它會導致超過一千個錯誤。相反,然後通過每個錯誤,並嘗試自己修復它,我想知道是否有可能只包含.lib,如果它是用GNU編譯器構建的?

編輯:

包括在上述連接源代碼是一個autogen.sh文件。

mkdir -p m4 
autoreconf --install --verbose 
automake -a --add-missing 
./configure 
make 

與Cygwin一起運行會導致一些.a庫文件被創建,這些文件在VS中不可用。 可以將這些文件重命名爲.lib文件嗎?

我在網上發現了一些關於如何使用GCC和創建DLL的東西,但是我的問題是我對GNU編譯器或者makefile,或者一般的源代碼不夠了解,立即改變它。

有沒有人有任何線索我究竟需要改變才能正確?或者甚至更好,有人創建了一個使用這個源代碼的DLL,它可以將它傳遞給我,或者讓我知道我必須做什麼?

或者任何人都可以指向一個與Visual Studio兼容的類似庫嗎?

+0

why vsC++ 6?它過時了,它的C++實現非常麻煩,而且在很多地方都不符合。使用更新版本的Visual Studio。有免費版本可用。 – smerlin 2012-04-04 16:47:41

+0

這就是我加入公司時應用程序的內容。工作已經開始更新VS版本,但它是一個如此大的應用程序... – ChrisJ 2012-04-05 07:40:44

回答

0

否;您可以使用gcc構建.dll文件,並使用msvc中的.dll文件(可以使用手工製作的包含文件,也可以使用格式正確的包含文件,平臺特定的導入/導出宏位於頂部)。

+0

感謝您的回覆。我設法使用CygWin來構建庫,但是它使用litool生成庫,這會導致.la庫文件 - 在MSVC中不可用。我在網上發現了一些顯示如何構建dll的東西。然而,我現在的問題是,我對GCC編譯器和使用的MakeFiles不是很熟悉。我將用更詳細的信息來編輯我的帖子...... – ChrisJ 2012-04-05 13:08:28