В этом простом примере шлакобетона (из введения шлака — 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 )
Есть идеи?
Вы имеете в виду ту же функцию:
cinder::app::App::loadResoure
cinder::app::loadResource
Никогда не использовал эту библиотеку, но 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
)
Вам лучше попробовать загрузить как ресурс, а не ресурс:
gl::TextureRef texImagen;
texImagen = gl::Texture::create( loadImage( getAssetPath( "image.jpg" ) ) );
куда image.jpg
находится в папке активов. Активы загружаются во время выполнения из этой папки ресурсов. Эта папка может быть на одном уровне программы или до трех выше.
Ресурсы находятся в папках ресурсов и копируются на этапе компиляции и упаковываются вместе с приложением или исполняемым файлом.
Чтобы использовать заголовок include ресурсов
#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, ваше изображение должно быть добавлено в ваш проект, просто перетащите его в дерево проекта.