2011-07-09 90 views
0

我想使用記事本並從命令提示符調用編譯器和鏈接器。
沒有IDE,因爲我想知道做以下所需的確切語法沒有化妝,NMAKE或類似的東西類似:

1.創建一個靜態庫
2.創建一個DLL

是的,我已經瀏覽MSDN網站,但我看到的例子假設一個使用的是在後臺做了很多設置的IDE
請注意:我知道如何使用cl編譯可執行文件,並使用vcvarsall.bat設置env。我的問題是關於編譯靜態庫和dll。
如何在沒有IDE的情況下使用Microsoft C++編譯器編譯C++庫

我正在使用Microsoft(R)32位C/C++優化編譯器版本15.00.30729.01,用於80x86。
關於使用其他編譯器(gcc,mingw,intel等)的建議目前不會有幫助。

+2

請使用記事本以外的編輯器查看。 – robert

+0

@user:我推薦[SciTE](http://www.scintilla.org/SciTE.html) – Mehrdad

+0

@robert。我知道,點了。我想說清楚,我不希望這種學習練習的「有用的」開發環境。其實我使用Notepda ++。 – user754425

回答

1

對於DLL,將/c標誌傳遞給cl.exe(編譯但不鏈接),並將/DLL標誌傳遞給link.exe。而不是製作一個可執行文件,它會生成一個DLL。

對於靜態庫,use the lib.exe program

+0

與James McNellis相比,你有更好的相關答案,因爲某些原因,他似乎擁有更多選票。我不知道這個投票是如何工作的 – user754425

+0

標誌/ DLL是否應該自動生成一個lib文件,或者是否有附加標誌來啓用它?你如何指示鏈接輸出一個lib文件和一個DLL? – user754425

+0

@ user754425:我忘了說,編譯器*的'/ LD'標誌也用於創建DLL; '/ LD'意味着將'/ DLL'傳遞給鏈接器IIRC。另外,要創建'.lib'文件,使用'lib myObjFile.obj'命令;它不會自動創建AFAIK。 – Mehrdad

3

C++編譯器被命名爲cl。編譯器選項是well-documented on MSDN。鏈接器名爲鏈接。鏈接器選項也是well-documented on MSDN

您需要運行vcvarsall.bat才能使用Visual C++工具鏈構建;這個批處理文件設置了所有必需的環境變量等。如果你已經安裝了Visual Studio,你的開始菜單中應該有一個名爲「Visual Studio命令提示符」的快捷方式。此快捷方式將爲您提供命令提示符並運行該批處理文件。

+0

我看到了這些選項。我沒有編譯可執行文件的麻煩。我正在尋找創建靜態庫和dll的選項。 – user754425

+0

對於靜態庫,您還需要庫管理器'LIB.EXE'。 –

0

一些小事情要添加。

我個人不會使用Windows批處理文件。 我會使用nmake http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.71).aspx在Visual Studio之外構建是nmake的日常工作,這是在構建機器上而不是在開發環境中構建Visual Studio項目的標準方式。

在NMAKE的青睞的另一件事是,如果跨平臺是非常重要的,你那麼的cmake(http://www.cmake.org/)是用於動態創建Windows NMAKE文件和非Windows make文件輝煌的工具,它與CTEST運行您的單元測試和自測。

廣告結束。

相關問題