在这个简单的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 )
有什么想法吗?
答案 0 :(得分:2)
你指的是同一个功能:
cinder::app::App::loadResoure
cinder::app::loadResource
从未使用过这个lib,但doc说第一个函数需要更多参数:
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
)
答案 1 :(得分:0)
您最好尝试加载资源而不是资源:
gl::TextureRef texImagen;
texImagen = gl::Texture::create( loadImage( getAssetPath( "image.jpg" ) ) );
其中image.jpg
位于assets文件夹中。资产在运行时从此资产文件夹加载。此文件夹可以与程序位于同一级别,也可以位于上述三个位置。
资源位于资源文件夹中,并在编译阶段复制,并与应用程序或可执行文件一起打包。
使用包含资源标题
#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,则必须将图像添加到项目中,只需将其拖到项目树中即可。