Ошибка перегрузки функции 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  )

Есть идеи?

1

Решение

Вы имеете в виду ту же функцию:

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
)
2

Другие решения

Вам лучше попробовать загрузить как ресурс, а не ресурс:

    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, ваше изображение должно быть добавлено в ваш проект, просто перетащите его в дерево проекта.

0

По вопросам рекламы [email protected]