Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функции разнесённые по cpp и h не видны, mc++ (.net) 
:(
    Опции темы
Arks
Дата 22.7.2006, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



Ошибка вылазит:
engine_tester error LNK2001: unresolved external symbol "bool __cdecl LoadTextureFromFile(class System::String __gc *,unsigned int __gc &,int)" (?LoadTextureFromFile@@$$FYA_NP$AAVString@System@@A$AAIH@Z)

Файл textures.h:
Код

#pragma once

#include "stdafx.h"

bool LoadTextureFromFile(String *filename, UInt32 &Texture, Int32 TextureQuality);


Файл textures.cpp:
Код

#include "stdafx.h"
#include "textures.h"

// Вспомогательные типы данных, функции
...

bool LoadTextureFromFile(System::String *filename, UInt32 &Texture, Int32 TextureQuality)
{
  BITMAP_FILE_PTR bmp;
  //StringBuilder *str = new StringBuilder(filename);
  //Char fname[] = filename->ToCharArray();
  //Char __pin *fn = &filename[0];//&fname[0];
  /*for(int i=0; i<filename->Length; i++)
  {
    fn[i] = filename->get_Chars[i];
  }
  fn[i] = 0;*/
  char __pin *fn = (char __gc*)filename;
  LoadBitmap(bmp,fn);
  glBindTexture(GL_TEXTURE_2D,Texture);
  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,TextureQuality);
  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,TextureQuality);
  glTexImage2D(GL_TEXTURE_2D,0,3,bmp->bitmapinfoheader.biWidth,bmp->bitmapinfoheader.biHeight,0,GL_RGB,GL_UNSIGNED_BYTE,bmp->buffer);
  UnloadBitmap(bmp);
  return true;
}
 
PM MAIL ICQ Skype MSN   Вверх
mr.DUDA
Дата 22.7.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Это, по ходу, относится совсем не к .NET/C#...

Просто в проекте, использующем данную функцию (LoadTextureFromFile) не была подключена библиотека (*.lib - файл). Решается это двумя способами:

- добавляем наш lib-файл в настройках проекта (секция Linker, раздел Additional Libraries)
- или добавляем в любой cpp-исходник директиву препроцессора #pragma comment (lib:имя_библиотеки.lib) 


--------------------
user posted image
PM MAIL WWW   Вверх
Arks
Дата 23.7.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



Какая библиотека?
LoadTextureFromFile моя функция самописная. Описание её в .h файле, а тело в .cpp.
Функция используется в файле map.h. А файл textures.h подключается там с помощью #include.

К .NET это относится имхо. Просто подобные ошибки выдаются и когда пишешь класс в .h, а методы реализуешь в .cpp. Хотя может дело в namespace'ах? Хотя в данном случае никаких namespace'ов не определенно.  

Это сообщение отредактировал(а) Arks - 23.7.2006, 10:24
PM MAIL ICQ Skype MSN   Вверх
mr.DUDA
Дата 23.7.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Может, в объявлении функции нужно вместо:

Код
bool LoadTextureFromFile(String *filename, UInt32 &Texture, Int32 TextureQuality);


сделать так же как в в .cpp:

Код
bool LoadTextureFromFile(System::String *filename, UInt32 &Texture, Int32 TextureQuality)





--------------------
user posted image
PM MAIL WWW   Вверх
Arks
Дата 23.7.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



Нет. Таже ошибка выдаётся 
PM MAIL ICQ Skype MSN   Вверх
mr.DUDA
Дата 23.7.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Arks, а cpp-файл в проект включен ? (глупый вопрос, конечно) 


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0742 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.