我正在寻找一个多平台OpenGL框架,它抽象了C++中windows和gl上下文的创建.我想要一个OO表示Window,Context&co,我可以实例化一个Window,创建一个Context,然后可以将窗口设置为全屏.
我正在考虑为xgl,wgl和agl实现这个.但之前
所以问题来了:
在再次发明轮子之前,我应该首先检查哪些库/框架?
编辑: 到目前为止命名的库:
如何创建适用于AIX,Linux和SunOS的makefile,并且能够为每个环境提供不同的编译器选项?
我可以访问描述操作系统的环境变量,但是AIX make实用程序不喜欢ifeq,所以我不能做类似的事情:
ifeq($(OS), AIX)
CFLAGS = $(CFLAGS) <IBM compiler options>
endif
Run Code Online (Sandbox Code Playgroud) 对于我的程序理念,它要求软件用一个可由所有主要桌面平台执行的二进制文件编写,这意味着它需要一个解释语言或JVM中的语言.要么对我好,但编程语言必须平衡功能和简单性(例如Python)
我知道wxPython但我已经读过它在Mac OS X上的支持相当有限
Java听起来不错,看起来不错,但是编程似乎太难了
有帮助吗?
我想开发一个跨平台的应用程序,我不确定哪个最适合用于桌面应用程序
Microsoft Silverlight
Adobe Air
Java的?(不想这样做)
Firefox附加组件?
R脚本如何确定它运行的平台?我正在使用R 2.10.1,有时在Windows上,有时在Linux上.我更喜欢内置函数而不是文件系统分类.我已经在描述中用"os"或"platform"搜索了基本软件包的索引 - 没有骰子,唉.
我想知道如何开发多平台应用程序.应用程序,如Microsoft Office for MAC/Windows,FireFox for MAC/Windows/Linux等.
如果他们必须为不同的平台编码,那么它很难管理,并且涉及许多其他复杂性.
问:开发团队如何管理多平台开发的复杂性?
是否可以在不使用平台特定功能的情况下打印UTF-8字符串?
#include <iostream>
#include <locale>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
wcout.imbue(locale("en_US.UTF-8")); // broken on Windows (?)
wstring ws1 = L"Wide string.";
wstring ws2 = L"Wide string with special chars \u20AC"; // Euro character
wcout << ws1 << endl;
wcout << ws2 << endl;
wcout << ws1 << endl;
}
Run Code Online (Sandbox Code Playgroud)
我收到此运行时错误:
在抛出'std :: runtime_error'的实例后调用终止
what():locale :: facet :: _ S_create_c_locale名称无效
如果我删除该行wcout.imbue(locale("en_US.UTF-8"));,我只会ws1打印一次.
在另一个问题(" 我怎么能cin和cout一些unicode文本? ")中,Philipp写道:"wcin和wcout在Windows上不起作用,就像等效的C函数一样.只有原生API可以工作." MinGW也是真的吗?
谢谢你的提示!
平台:
MinGW/GCC
Windows 7
我发现了一个有趣的案例,相同的C++代码在不同的系统上产生不同的结果.
#include <cstdio>
int main()
{
int a=20, b=14;
if(a*1.0/b*(a+1)/(b+1)==2) printf("YES!");
else printf("NO!");
}
Run Code Online (Sandbox Code Playgroud)
使用GCC 4.6.3在Ubuntu Linux 12.04上编译,输出YES!
使用GCC 4.6.2在Windows 7上编译,输出NO!
但是,使用:
double c = a*1.0/b*(a+1)/(b+1);
if (c==2) printf("YES!");
...
Run Code Online (Sandbox Code Playgroud)
将返回YES!在两台机器上.
有什么想法出现这种差异?这是由编译器版本不匹配引起的(路径级版本号应该不重要)?为什么它实际输出NO!在Windows机器上,这种情况显然是真的吗?
如何将此cocos2d-iphone代码移植到cocos2d-x?
(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSSet *allTouches = [event allTouches];
switch ([allTouches count]) {
case 1:
{
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
switch([touch tapCount])
{
case 1:
// ??!
break;
case 2:
//Double tap.
// ??!
break;
}
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我已经合作过WPF,但我不知道任何关于SilverLight现在我需要开发一种能够同时支持Mac和Windows上运行的应用程序,所以我想编写一个WPF Application与MVVM用于Windows和Mac上使用运行SilverLight?那是可能的从港口WPF到Silverlight,有多少工作需要或者也许我应该写的应用程序与SilverLight从一开始,甚至为我的Windows用户?哪一个更好,更快?