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

C++ 在没有Visual Studio的情况下使用MFC和ATL库,c++,mfc,atl,C++,Mfc,Atl,我的问题是,如果没有Visual Studio,我是否可以使用PSDK Windows Server 2003 R2附带的MFC和ATL库。我的意思是只在命令提示符下使用BCC32.exe或CL.exe 我在PSDK Windows Server 2003 R2中找到了MFC和ATL库,但我不知道这些库是否可以在没有Visual Studio IDE的情况下使用!在命令提示下使用MFC和ATL之前需要做什么 谢谢 如果您拥有所有的头文件,以及其余部分的源代码或编译版本,那么可以在没有Visual

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

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


谢谢

如果您拥有所有的头文件,以及其余部分的源代码或编译版本,那么可以在没有Visual Studio的情况下使用它。VisualStudio只是一个为您调用编译器等的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;
#定义WINVER 0x0500//Windows 2000及更高版本。
#包括//MFC核心和标准组件
typedef CFrameWnd主窗口;
类应用程序
:公共CWinApp
{
私人:
bool createTheMainWindow()
{
静态字符常量标题[]=“通用顶级MFC窗口”;
主窗口*const pWnd=
新主窗口;
如果(!pWnd){return false;}//MFC中的预标准“new”。。。
m_pMainWnd=pWnd;
pWnd->Create(空,标题);
返回true;
}
公众:
虚拟BOOL InitInstance()
{
CWinApp::InitInstance();
如果(!createTheMainWindow()){return false;}
m_pMainWnd->显示窗口(SW_显示);
m_pMainWnd->UpdateWindow();
返回true;
}
};
App-theApp;

干杯&hth.,

不行,因为有些功能依赖于Visual Studio编译器特定的行为。例如,蹦床用于将窗口控制柄映射到对象的方式


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

谢谢Alf p.Steinbach爵士。现在我很清楚,MFC和ATL包含文件和lib文件可以在没有VisualStudioIDE的情况下使用。谢谢你的帮助!我特别想问的一件事是,有没有一本关于MFC或ATL的好书,其中的示例是用bcc32.exe或cl.exe编译的!如果你对它有一些了解,请向我推荐。上面的例子编译和使用VisualC++的最新版本(C[ex.ex]编译器)很好。我不确定,但我怀疑[bcc32.exe]唯一普遍可用的版本,Borland编译器,类似于20世纪90年代中期的5.0或其他版本。如果是这样,那么编译器可能无法处理最近的MFC。只有错误消息显示“afxmsg_uh”包含文件无法打开!您能告诉我在哪里可以找到“afxmsg_uh.h”文件吗?@Shahid:显然,Visual Studio Express的安装创建了一个带有一些MFC头的目录,但缺少很多,包括您提到的文件,如报道所述。PSDK Windows Server 2003 R2可能也是如此。在某种程度上,这是可以理解的,因为微软一直想继续发展新的“技术”,并为此销售工具。。。