在没有Visual Studio的情况下使用MFC和ATL库

时间:2011-07-02 08:54:33

标签: c++ mfc atl

我的问题是,如果我可以使用PSDK Windows Server 2003 R2附带的MFC和ATL库,而不使用Visual Studio。我的意思是仅在命令提示符下使用BCC32.exe或CL.exe?

我在PSDK Windows Server 2003 R2中找到了MFC和ATL库,但我不知道这些库是否可以在没有Visual Stuio IDE的情况下使用!在命令提示符下使用MFC和ATL之前我需要做什么?

谢谢!

2 个答案:

答案 0 :(得分: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;

干杯&amp;第h。,

答案 1 :(得分:0)

不,你不能,因为某些功能依赖于Visual Studio编译器特定的行为。例如,trampolines用于将窗口句柄映射到对象的方式。

我假设您“可以在没有Visual Stuio IDE的情况下使用”,您实际上是指“使用其他编译器”,因为您提到了Borland编译器。当然你可以在文本编辑器中编写C ++并从命令行编译这些文件,而不是使用IDE,但是你想要的是使用另一个编译器,对吗? (IDE和编译器相关但不相同)。