|
|
|
| Следующий код вызывает у Dev-C++ ошибку:
[Linker error] undefined reference to resource_manger::textures
|
Код:
#include <map>
using namespace std;
class resource_manger
{
public:
static bool load_texture(char* psz_name)
{
...
size_t x = textures.size();
}
public:
static map<char*, texture_t, named_object_t> textures;
};
|
Классы texture_t и named_object_t объявлены, в named_object_t определен
inline bool operator>(named_object_t& obj);
|
texture_t наследован от named_object_t
Visual Studio 2005 на код в функции не ругается, подозреваю, что это связано с чем-то в dev-c++
Спасибо за помощь! | |
|
|
|
|
|
|
|
для: Фитч
(26.12.2007 в 02:36)
| | Интересно, что глюк исчезает, если сделать функцию inline.
Чем же это может быть вызвано? | |
|
|
|
|
|
|
|
для: Фитч
(26.12.2007 в 02:36)
| | А textures что из себя представляет? Может библиотечки какие-то не подключены? | |
|
|
|
|
|
|
|
для: cheops
(26.12.2007 в 04:57)
| | textures это, как написано в первом посте,
static map<char*, texture_t, named_object_t> textures;
|
Все библиотеки подключены, если сделать
static inline bool load_texture(char* psz_filename, char* psz_name);
|
то все заработает, вот только это нехорошее решение получается - компилится-то оно компилится, но негоже вставлять повсюду код загрузки ресурсов.
PS:
texture_t - это просто структура с несколькими переменными. | |
|
|
|