2009-08-04 109 views
4

我已經做了一個體面的搜索,但似乎無法找到一種方法讓Visual Studio 2008使用unix Makefile,甚至可以從Makefile創建一些與MSVC兼容的等效項。有沒有人有想法或類似的問題?Windows的Visual Studio 2008中的Unix Makefile

注:我已經知道使用Makefiles的好處/缺點,我不想聽你的意見。我現在感興趣的是從最初的一個只有Makefile的unix代碼創建一個Windows庫,並從中獲得一些功能。

TIA。

+0

你能看到它使用的是什麼編譯器嗎? – 2009-08-04 13:21:10

+0

現有的makefile使用gcc。 – Justin 2009-08-04 13:25:22

回答

4

您還可以使用ccclmake for windows

cccl是Microsoft的一個包裝器 Visual C++的cl.exe和link.exe。它將 將Unix編譯器參數轉換爲 通過cl和鏈接理解的參數。

2

你可以做的是從現有的代碼創建一個項目。 Visual C++在沒有makefile的情況下在編譯時做得很好。

你也可以安裝MinGW,並有make和編譯器。

http://www.mingw.org/

+0

我嘗試從現有的代碼創建一個項目,但很少成功。 MinGW可能會工作......我會進一步研究。 – Justin 2009-08-04 13:28:05

+2

請注意,如果您將使用MinGW編譯的MSVC庫,則可能會遇到問題。我在我的博客上發佈了一篇關於如何將MSVC編譯後的dll轉換爲MinGW庫的文章,但我不知道反之亦然。 http://blog.stranadurakov.com/2009/04/01/create-mingw-library-from-dll/ – 2009-08-04 13:43:21

1

使用nmake命令行工具。請注意,它不支持GNU Make所做的所有事情,因此您可能需要編輯Makefile以使其兼容,但它與您想要的最接近。

0

通常情況下,我看到的人是用另一種方式使用它們:使用make作爲主構建系統,並讓它調用Visual Studio以批處理模式構建其內容。

我沒有2008年我,但瓦特/ VisualStudio2005你可以建立一個規則是這樣的

release = "Win32 Debug" 
progname.exe : progname.sln 
    devenv $< /Rebuild /"$(release)/" 

(注的解決方案:我在這個例子中使用空格,製表剛帶我到下一個領域。)