1

在这个简单的 cinder 示例中(来自 cinder 介绍 - http://libcinder.org/docs/v0.8.4/hello_cinder.html)我得到这个编译错误:

myImage = gl::Texture( loadImage( loadResource( "image.jpg" ) ) );

错误 1 ​​错误 C2661: 'cinder::app::App::loadResource' : 没有重载函数需要 1 个参数

但是文档说:

DataSourceRef cinder::app::loadResource (   const std::string &     macPath  )

有任何想法吗?

4

2 回答 2

2

您指的是相同的功能:

cinder::app::App::loadResoure
cinder::app::loadResource

从未使用过这个库,但文档说第一个函数需要更多参数:

http://libcinder.org/docs/v0.8.4/classcinder_1_1app_1_1_app.html#afef905bb792960152d38c2680f88ea33

static DataSourceRef cinder::app::App::loadResource (   
       const std::string &  macPath,
       int  mswID,
       const std::string &  mswType  
)   
于 2012-10-24T21:07:43.550 回答
0

您最好尝试加载为资产而不是资源:

    gl::TextureRef      texImagen;
    texImagen = gl::Texture::create( loadImage( getAssetPath( "image.jpg" ) ) );

image.jpg位于资产文件夹中的位置。资产在运行时从该资产文件夹加载。该文件夹可以位于程序的同一级别或最多三个以上。

资源位于资源文件夹中,并在编译阶段复制并与应用程序或可执行文件一起打包。

使用包含资源标头

   #include "Resources.h"

其中包含这样的东西

#pragma once
#include "cinder/CinderResources.h"
#define MY_IMAGE       CINDER_RESOURCE( ../resources/, image.jpg, 1, IMAGE )

然后你可以加载它

texImagen = gl::Texture::create( loadResource( MY_IMAGE ) );

请注意,如果您在 Xcode 中,则必须将图像添加到项目中,只需将其拖到项目树中即可。

于 2016-11-01T21:06:27.073 回答