2011-07-02 153 views
0

我的問題是如果我可以使用沒有Visual Studio的PSDK Windows Server 2003 R2附帶的MFC和ATL庫。我的意思是隻有在BCC32.exe或CL.exe的命令提示符下?在沒有Visual Studio的情況下使用MFC和ATL庫

我發現在PSDK Windows Server 2003 R2中的MFC和ATL庫,但我不知道這些庫是否可以在沒有Visual Stuio IDE的情況下使用!在命令提示符下使用MFC和ATL之前需要做什麼?

謝謝!

回答

1

如果你有所有的頭文件,以及其他的源代碼或編譯後的版本,那麼可以在沒有Visual Studio的情況下使用它。 Visual Studio只是一個爲您調用編譯器等的IDE。使用命令行工具,您可以自己完成這項工作。

這裏有一個最小的MFC程序,你可以嘗試:

#define WINVER 0x0500  // Windows 2000 and up. 
#include <afxwin.h>   // MFC core and standard components 

typedef CFrameWnd MainWindow; 

class App 
    : public CWinApp 
{ 
private: 
    bool createTheMainWindow() 
    { 
     static char const title[] = "A general top level MFC window"; 
     MainWindow* const pWnd  = 
      new MainWindow; 
     if(!pWnd) { return false; } // Pre-standard 'new' in MFC... 
     m_pMainWnd = pWnd; 
     pWnd->Create(NULL, title); 
     return true; 
    } 

public: 
    virtual BOOL InitInstance() 
    { 
     CWinApp::InitInstance(); 

     if(!createTheMainWindow()) { return false; } 

     m_pMainWnd->ShowWindow(SW_SHOW); 
     m_pMainWnd->UpdateWindow(); 
     return true; 
    } 
}; 

App theApp; 

乾杯&心連心,

+0

謝謝Alf P. Steinbach爵士。現在很明顯,MFC和ATL包含的文件和lib文件可以在沒有Visual Studio IDE的情況下使用。感謝您的大力幫助! – Shahid

+0

我特別想問的一件事是,有一本關於MFC或ATL的好書,其中特別的例子是用bcc32.exe或cl.exe編譯的!如果你有一些關於它的知識,請告訴我。 – Shahid

+0

上面的例子編譯並適用於最新版本的Visual C++([cl.exe]編譯器)。我不確定,但我懷疑Borland編譯器[bcc32.exe]的唯一通用版本就像是從20世紀90年代中期開始的5.0版本。如果是這樣,那麼編譯器可能無法處理最近的MFC。 –

0

,你不行,因爲有些功能依賴於Visual Studio的編譯器特定的行爲。例如蹦牀用於將窗口句柄映射到對象的方式。

由於您提到了Borland編譯器,因此我假定您可以使用「沒有Visual Stuio IDE」,但實際上您的意思是「使用另一個編譯器」。當然,你可以在文本編輯器中編寫C++,並從命令行編譯這些文件,而不是使用IDE,但是你想要的是使用另一個編譯器,對嗎? (IDE和編譯器相關但不相同)。

相關問題