为c ++寻找一组丰富的跨平台库

时间:2022-09-26 12:05:40

Are their any libraries which provide functionality similar to mono but for the c++ language? I know boost exists, but I like mono much more than boost.

他们的任何库是否提供类似于单声道但c ++语言的功能?我知道提升存在,但我喜欢单声道而不是提升。

I'm looking to do more than what's available in the base library set, like play sound more easily (crossplatform), GUI, load images, time, etc. I guess I am looking for what people might consider an engine or a large library.

我希望做的不仅仅是基本库集中可用的内容,比如更容易播放声音(跨平台),GUI,加载图像,时间等等。我想我正在寻找人们可能会认为是引擎或大型库的内容。

7 个解决方案

#1


Mono is a .NET implementation. Mono is NOT a library. There is NO Mono for C++. At least, not yet.

Mono是一个.NET实现。单声道不是一个图书馆。 C ++没有Mono Mono。至少,还没有。

#2


I think you want a multi-platform framework, such as Qt

我想你想要一个多平台框架,比如Qt

#3


If you're wanting to work with Managed C++ a la .Net, then you would just use Mono. They have a page describing how to go about it. The only catch is that you have to compile on Windows, as there is not yet any flavor of GCC that outputs .Net CLI for C++.

如果您想使用托管C ++和la .Net,那么您只需使用Mono。他们有一个页面描述了如何去做。唯一的问题是你必须在Windows上编译,因为还没有任何GCC输出.Net CLI for C ++。

To be honest, though, if you're going to use Mono, you might as well move into C#. It's a much cleaner language, IMO.

说实话,如果你打算使用Mono,你可能会进入C#。这是一种更清洁的语言,IMO。

#4


CLI is only able to host C++ compiled code on all supported platforms as long as the compiled code only contains CIL not native code.

CLI只能在所有支持的平台上托管C ++编译代码,只要编译的代码只包含CIL而不是本机代码。

for more detail visit http://www.mono-project.com/CPlusPlus

有关更多详细信息,请访问http://www.mono-project.com/CPlusPlus

#5


I'm not sure about your precise requirements, but in terms of large multi-purpose packages: Qt has been mentioned by a few folks. wxWidgets (formerly wxWindows) is another option. GTK is multiplatform.

我不确定您的确切要求,但就大型多功能包而言:Qt已被少数人提及。 wxWidgets(以前称为wxWindows)是另一种选择。 GTK是多平台的。

As you use the word "engine" (often a game-related term), you might be interested in SDL, which has been used by numerous games, professional and amateur alike. SFML is an option. ClanLib is another long-lived library I've heard of, though I'll admit to knowing little about it.

当您使用“引擎”(通常是与游戏相关的术语)这个词时,您可能会对SDL感兴趣,SDL已被众多游戏,专业人士和业余爱好者所使用。 SFML是一种选择。 ClanLib是我听说过的另一个长期存在的图书馆,虽然我承认对此知之甚少。

#6


Try the STL collections...Has nothing to do with .NET, but they are a nice collection of collections (lol) and make C++ life easier.

尝试STL集合......与.NET无关,但它们是一个很好的集合集合(lol),使C ++生活更轻松。

#7


It sounds like what you are really looking for is a C++ framework that offers the kinds of functionality found in the .NET/Mono framework. Qt is a popular choice.

听起来你真正想要的是一个C ++框架,它提供了.NET / Mono框架中的各种功能。 Qt是一个受欢迎的选择。

On the topic of C++ interoperability, Mono has recently made some pretty big strides with CXXI.

关于C ++互操作性的话题,Mono最近在CXXI上取得了一些相当大的进步。

(From this posting): The short story is that the new CXXI technology allows C#/.NET developers to:

(摘自此帖):简短的故事是新的CXXI技术允许C#/ .NET开发人员:

  • Easily consume existing C++ classes from C# or any other .NET language
  • 从C#或任何其他.NET语言轻松使用现有的C ++类

  • Instantiate C++ objects from C#
  • 从C#实例化C ++对象

  • Invoke C++ methods in C++ classes from C# code
  • 从C#代码调用C ++类中的C ++方法

  • Invoke C++ inline methods from C# code (provided your library is compiled with -fkeep-inline-functions or that you provide a surrogate library)
  • 从C#代码调用C ++内联方法(假设您的库使用-fkeep-inline-functions编译或者您提供了代理库)

  • Subclass C++ classes from C#
  • 来自C#的子类C ++类

  • Override C++ methods with C# methods
  • 使用C#方法覆盖C ++方法

  • Expose instances of C++ classes or mixed C++/C# classes to both C# code and C++ as if they were native code.
  • 将C ++类或混合C ++ / C#类的实例暴露给C#代码和C ++,就好像它们是本机代码一样。

CXXI is the result of two summers of work from Google's Summer of Code towards improving the interoperability of Mono with the C++ language.

CXXI是Google Summer of Code两个夏季工作的结果,旨在提高Mono与C ++语言的互操作性。

#1


Mono is a .NET implementation. Mono is NOT a library. There is NO Mono for C++. At least, not yet.

Mono是一个.NET实现。单声道不是一个图书馆。 C ++没有Mono Mono。至少,还没有。

#2


I think you want a multi-platform framework, such as Qt

我想你想要一个多平台框架,比如Qt

#3


If you're wanting to work with Managed C++ a la .Net, then you would just use Mono. They have a page describing how to go about it. The only catch is that you have to compile on Windows, as there is not yet any flavor of GCC that outputs .Net CLI for C++.

如果您想使用托管C ++和la .Net,那么您只需使用Mono。他们有一个页面描述了如何去做。唯一的问题是你必须在Windows上编译,因为还没有任何GCC输出.Net CLI for C ++。

To be honest, though, if you're going to use Mono, you might as well move into C#. It's a much cleaner language, IMO.

说实话,如果你打算使用Mono,你可能会进入C#。这是一种更清洁的语言,IMO。

#4


CLI is only able to host C++ compiled code on all supported platforms as long as the compiled code only contains CIL not native code.

CLI只能在所有支持的平台上托管C ++编译代码,只要编译的代码只包含CIL而不是本机代码。

for more detail visit http://www.mono-project.com/CPlusPlus

有关更多详细信息,请访问http://www.mono-project.com/CPlusPlus

#5


I'm not sure about your precise requirements, but in terms of large multi-purpose packages: Qt has been mentioned by a few folks. wxWidgets (formerly wxWindows) is another option. GTK is multiplatform.

我不确定您的确切要求,但就大型多功能包而言:Qt已被少数人提及。 wxWidgets(以前称为wxWindows)是另一种选择。 GTK是多平台的。

As you use the word "engine" (often a game-related term), you might be interested in SDL, which has been used by numerous games, professional and amateur alike. SFML is an option. ClanLib is another long-lived library I've heard of, though I'll admit to knowing little about it.

当您使用“引擎”(通常是与游戏相关的术语)这个词时,您可能会对SDL感兴趣,SDL已被众多游戏,专业人士和业余爱好者所使用。 SFML是一种选择。 ClanLib是我听说过的另一个长期存在的图书馆,虽然我承认对此知之甚少。

#6


Try the STL collections...Has nothing to do with .NET, but they are a nice collection of collections (lol) and make C++ life easier.

尝试STL集合......与.NET无关,但它们是一个很好的集合集合(lol),使C ++生活更轻松。

#7


It sounds like what you are really looking for is a C++ framework that offers the kinds of functionality found in the .NET/Mono framework. Qt is a popular choice.

听起来你真正想要的是一个C ++框架,它提供了.NET / Mono框架中的各种功能。 Qt是一个受欢迎的选择。

On the topic of C++ interoperability, Mono has recently made some pretty big strides with CXXI.

关于C ++互操作性的话题,Mono最近在CXXI上取得了一些相当大的进步。

(From this posting): The short story is that the new CXXI technology allows C#/.NET developers to:

(摘自此帖):简短的故事是新的CXXI技术允许C#/ .NET开发人员:

  • Easily consume existing C++ classes from C# or any other .NET language
  • 从C#或任何其他.NET语言轻松使用现有的C ++类

  • Instantiate C++ objects from C#
  • 从C#实例化C ++对象

  • Invoke C++ methods in C++ classes from C# code
  • 从C#代码调用C ++类中的C ++方法

  • Invoke C++ inline methods from C# code (provided your library is compiled with -fkeep-inline-functions or that you provide a surrogate library)
  • 从C#代码调用C ++内联方法(假设您的库使用-fkeep-inline-functions编译或者您提供了代理库)

  • Subclass C++ classes from C#
  • 来自C#的子类C ++类

  • Override C++ methods with C# methods
  • 使用C#方法覆盖C ++方法

  • Expose instances of C++ classes or mixed C++/C# classes to both C# code and C++ as if they were native code.
  • 将C ++类或混合C ++ / C#类的实例暴露给C#代码和C ++,就好像它们是本机代码一样。

CXXI is the result of two summers of work from Google's Summer of Code towards improving the interoperability of Mono with the C++ language.

CXXI是Google Summer of Code两个夏季工作的结果,旨在提高Mono与C ++语言的互操作性。