C++ 将wxwidgets opengl应用程序移植到不依赖库的应用程序

C++ 将wxwidgets opengl应用程序移植到不依赖库的应用程序,c++,visual-studio-2010,opengl,mfc,wxwidgets,C++,Visual Studio 2010,Opengl,Mfc,Wxwidgets,我想移植不依赖于库的wxwidgets opengl应用程序。我想至少它可以在没有附加库的情况下编译。我想把它移植到MFC或者WIN32。最简单的方法是什么?也许你有其他的建议 您确实意识到,MFC只是另一个库,其工作原理与wxWidgets非常相似。唯一的区别是,MFC用VisualC++来运行。然而,如果您要使用GCC(MinGW)进行编译,那么您必须以某种方式获得MFC 此外,事件处理等的整个样板代码也很容易编写。我说:坚持使用wxWidgets,它是跨平台的,支持良好,如果你害怕安装和使

我想移植不依赖于库的wxwidgets opengl应用程序。我想至少它可以在没有附加库的情况下编译。我想把它移植到MFC或者WIN32。最简单的方法是什么?也许你有其他的建议

您确实意识到,MFC只是另一个库,其工作原理与wxWidgets非常相似。唯一的区别是,MFC用VisualC++来运行。然而,如果您要使用GCC(MinGW)进行编译,那么您必须以某种方式获得MFC


此外,事件处理等的整个样板代码也很容易编写。我说:坚持使用wxWidgets,它是跨平台的,支持良好,如果你害怕安装和使用库,那么你不应该进行编程。

你确实意识到,MFC只是另一个库,工作方式与wxWidgets非常相似。唯一的区别是,MFC用VisualC++来运行。然而,如果您要使用GCC(MinGW)进行编译,那么您必须以某种方式获得MFC


此外,事件处理等的整个样板代码也很容易编写。我说:坚持使用wxWidgets,它是跨平台的,支持良好,如果你害怕安装和使用库,那么你不应该进行编程。

MFC是目前为止最简单的。如果您不想使用未随Visual Studio安装的库,它也是唯一现实的选择。

MFC是目前为止最简单的。如果您不想使用未随Visual Studio安装的库,这也是唯一现实的选择。

尽管已经检查了一个答案,但按照问题的措辞,答案是错误的。MFC只是另一个依赖项,尽管它是随VisualStudio提供的。您仍然需要确保用户系统上安装了正确的版本。解决此问题的唯一真正方法是使用WGL运行Win32。那么你就只能依赖操作系统库了。(您可能仍然需要安装vcredit软件包…

尽管已经检查了一个答案,但按照问题的措辞,答案是错误的。MFC只是另一个依赖项,尽管它是随VisualStudio提供的。您仍然需要确保用户系统上安装了正确的版本。解决此问题的唯一真正方法是使用WGL运行Win32。那么你就只能依赖操作系统库了。(您可能仍然需要安装vcredist软件包…

您确实意识到,MFC只是另一个库,其工作原理与wxWidgets非常相似。您确实意识到,MFC只是另一个库,其工作原理与wxWidgets非常相似。@Roel:无可否认,这是一个糟糕的例子。但实际上我不太确定。至少VC++5附带了完整的MFC源代码,所以理论上可以将其移植到GCC,当然可以事先清除所有编译器依赖项。然而,有英特尔编译器,MFC与之配合使用。是的,如果要修改代码使其正常工作,那么任何库都是“可移植的”。IIRC存在严重问题;例如,使用thunking将窗口句柄与使用仅适用于MSVC的编译器详细信息的对象相关联。我不确定英特尔编译器,或者它是否真的能与MFC一起工作——例如,粗略地看,我找不到英特尔声称它能工作的页面。事实上,VS Pro和better附带了MFC的全部源代码。这样做是为了方便调试MFC应用程序。我不知道其法律后果,但在windows上用gcc编译MFC应该是技术上可行的。@Roel:无可否认,这是个坏例子。但实际上我不太确定。至少VC++5附带了完整的MFC源代码,所以理论上可以将其移植到GCC,当然可以事先清除所有编译器依赖项。然而,有英特尔编译器,MFC与之配合使用。是的,如果要修改代码使其正常工作,那么任何库都是“可移植的”。IIRC存在严重问题;例如,使用thunking将窗口句柄与使用仅适用于MSVC的编译器详细信息的对象相关联。我不确定英特尔编译器,或者它是否真的能与MFC一起工作——例如,粗略地看,我找不到英特尔声称它能工作的页面。事实上,VS Pro和better附带了MFC的全部源代码。这样做是为了方便调试MFC应用程序。我不知道法律后果如何,但在windows上使用gcc编译MFC应该是技术上可行的。好的,但这会增加一个.Net依赖项,更不用说Winforms已被弃用。在那之后,它不再是一个真正的“C++”应用程序,充其量是一个“C++for the CLR”应用程序。好的,但这会增加一个.Net依赖项,更不用说Winforms已被弃用。此后,它不再是一个真正的“C++”应用程序,充其量只是一个“C++for the CLR”应用程序。