我一直在阅读很多关于openFrameworks和Processing的内容,但是除了一个在C++中而另一个在Java中之外,仍然无法区分.谁能告诉我究竟是什么?
在Visual Studio 2010 SP1上编译openFrameworks 007项目时,我有以下警告:
d:\pedro\development\videoflow\openframeworks\libs\openframeworks\types\ofcolor.h(127): warning C4003: not enough actual parameters for macro 'max'
d:\pedro\development\videoflow\openframeworks\libs\openframeworks\types\ofcolor.h(128): warning C4003: not enough actual parameters for macro 'max'
d:\pedro\development\videoflow\openframeworks\libs\openframeworks\graphics\ofpixels.h(150): warning C4003: not enough actual parameters for macro 'max'
d:\pedro\development\videoflow\openframeworks\libs\openframeworks\graphics\ofpixels.h(151): warning C4003: not enough actual parameters for macro 'max'
Run Code Online (Sandbox Code Playgroud)
据我所知,这个警告通常会出现错误,但在我的情况下一切正常.受影响的代码如下:
const float srcMax = ( (sizeof(SrcType) == sizeof(float) ) ? 1.f : numeric_limits<SrcType>::max() );
const float dstMax = ( (sizeof(PixelType) == sizeof(float) ) ? 1.f : numeric_limits<PixelType>::max() );
Run Code Online (Sandbox Code Playgroud)
我尝试在预处理器上设置NOMINMAX,但由于openFrameworks还在ofConstants.h上定义了NOMINMAX,因此我收到了一些已经定义了NOMINMAX的警告.
我试图在受影响的openFrameworks文件上定义NOMINMAX,但它会产生相同的警告(事实上,如果我分析ofColor.h和ofPixel.h中包含的文件,它们最终包括ofConstants.h,因此应该定义NOMINMAX).
关于如何解决这个问题的任何想法?如果你不......最好的是什么?这个警告或NOMINMAX已定义的一堆警告?
编辑:
BTW当我谈到错误时我正在讨论这些:警告C4003和错误C2589和C2059:x …
我正在尝试使用Visual Studio中的OpenFrameworks(一个使用C++的库)编译项目.构建设置为Release和X64,在项目属性中我将Platform Toolset设置为Visual Studio 2015(v140)
但是,每当我尝试构建项目时,我都会得到相同的错误(其中包括)
错误MSB8020找不到v141(Platform Toolset ='v141')的构建工具.要使用v141构建工具进行构建,请安装v141构建工具.
我知道v141来自MSVS 2017的新版本但我不想升级到新版本与OpenFrameworks不兼容.我已经尝试过多次从头开始重建项目,并且还查看了VCXPROJ文件并验证了所有内容都设置为V140 - 它确实如此.一切都很奇怪.
似乎在构建时,某些东西正在为v141设置一个要求,但我似乎无法找到它的来源.有没有人有想法?
我Xcode 4.4在OS X Lion上.我想安装Mac 10.6 SDK - 也称为macosx10.7 SDK - 因为我需要编译openFrameworks.
我发现我需要从这个网站下载其他工具.但是我没有在那里找到任何10.6 SDK.我也尝试过查看Xcode首选项 - >下载 - >组件,但是没办法.
我想知道如何为Xcode安装以前的SDK?
我正处于一个艰难的选择中.我想学习一种语言,可以帮助我创建具有强大的艺术/创意/图形组件的应用程序,并将其用于我的客户的商业项目.
我的第一选择是OpenGL ES,我认为它是"标准"的方式.但是,与此同时,我发现了这个网站:http://www.creativeapplications.net/我在其中发现了许多很酷的ios应用程序,对于大多数使用OpenFramewors和Cinder构建的应用程序.
我的问题是:为什么选择这个2"包装"而不是OpenGL?我需要了解利弊.
我不确定使用这些框架我可以以简单(和标准)的方式混合(对于OpenGL)UIKit/Cocoa和Graphics.目前我仍然更喜欢OpenGL,因为我知道这是苹果建议的方式(我的意思是......由Apple提出),我确信我也可以为我的客户利用它.虽然我不确定使用OF和Cinder我可以毫不费力地完全管理UIKit和Cocoa.
我想开发一个程序,使用网络摄像头跟踪指尖.跟踪时,指尖将像指数一样,即使它被移动,我也能够获得它的位置.如果有人对我有任何建议.提前致谢.
我在MacOS 10.7.2(b.11C74)上使用QuickTime API时遇到问题.
这是一段打开电影描述符的openFrameworks代码:
// ofQuickTimePlayer.cpp
bool createMovieFromURL(string urlIn, Movie &movie){
char * url = (char *)urlIn.c_str();
Handle urlDataRef;
OSErr err;
urlDataRef = NewHandle(strlen(url) + 1);
// ...
BlockMoveData(url, *urlDataRef, strlen(url) + 1);
err = NewMovieFromDataRef(
&movie,
newMovieActive,
nil,
urlDataRef,
URLDataHandlerSubType);
// ...
if ( err != noErr ) {
ofLog(OF_LOG_ERROR,"createMovieFromURL: error loading url");
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我只需要打开HLS视频流.
测试Apple HLS流无法加载,但不会呈现视频.这是:http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
-2048在这种情况下,我的测试HLS流无法加载并且错误等于.
通过HTTP和RTSP协议传输.mp4,一切都很完美.
相同的流在QuickTime Player 10.1(501.5)中完美播放.
我的小研究的细节在这里:https: …
我不能忍受XCode,但真的很喜欢OpenFrameworks,我知道它适用于Linux + Win32,所以我不明白为什么它应该依赖于XCode.如果我需要安装XCode那么好,我根本不想使用它.
cc1plus: error: bad value (\xe2\x80\x98tigerlake\xe2\x80\x99) for \xe2\x80\x98-march=\xe2\x80\x99 switch\n\ncc1plus: note: valid arguments to \xe2\x80\x98-march=\xe2\x80\x99 switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 btver1 btver2 native\n\ncc1plus: error: bad value (\xe2\x80\x98tigerlake\xe2\x80\x99) for \xe2\x80\x98-mtune=\xe2\x80\x99 switch\n\ncc1plus: note: valid arguments to …Run Code Online (Sandbox Code Playgroud) 我正在渲染到OpenGL屏幕外的帧缓冲对象,并喜欢将其保存为图像.请注意,FBO大于显示尺寸.我可以渲染到屏幕外缓冲区并将其用作纹理,这是有效的.我可以使用偏移量通过显示"滚动"这个更大的纹理,这让我充满信心,我渲染到比窗口更大的上下文.
如果我将屏幕外缓冲区保存到图像文件,它总是会被裁剪.保存的代码片段是:
void ofFBOTexture::saveImage(string fileName) {
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
// get the raw buffer from ofImage
unsigned char* pixels = imageSaver.getPixels();
glReadPixels(0, 0, 1024, 1024, GL_RGB, GL_UNSIGNED_BYTE, pixels);
imageSaver.saveImage(fileName);
}
Run Code Online (Sandbox Code Playgroud)
请注意,图像内容被裁剪,可见部分被正确保存(这意味着像素格式没有错误,GL_RGB问题等),但剩余空间用一种颜色填充.
所以,我的问题是 - 我做错了什么?