Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Разбор полетов FMOD


Автор: SneG0K 24.5.2009, 22:45
Код

#include "fmod/fmod.hpp"
#pragma comment(lib, "fmodex_vc.lib") 

FMOD_RESULT     result;
FMOD::System   *system;
....
result = FMOD::System_Create(&system);
....


Код

main.obj : error LNK2019: unresolved external symbol _FMOD_System_Create referenced in function "enum FMOD_RESULT __cdecl FMOD::System_Create(class FMOD::System * *)" (?System_Create@FMOD@@YA?AW4FMOD_RESULT@@PAPAVSystem@1@@Z)
C:\Documents and Settings\*****\Мои документы\Visual Studio 2008\Projects\SPlayer\Debug\test.exe : fatal error LNK1120: 1 unresolved externals


Что это вообще за ошибка? И что с ней делать? По гуглю ничего не нашел :(

Автор: SneG0K 24.5.2009, 23:06
Хотя, вот беру пример, кастрирую его до уровня моего кода и ничего - работает. Может проекты надо как-то особо создавать?

Автор: Alexeis 24.5.2009, 23:24
Одно из 2х либо какую нить либу не подключил, либо неправильная декорация имен из-за того что указано неверное соглашение о передаче параметров. Например в заголовках стоит по умолчанию (__cdecl), а требуется например __stdcall . Вызов по умолчанию регулируется в свойствах проекта, но там лучше не менять, лучше в заголовках попробовать поменять.

Автор: SneG0K 24.5.2009, 23:33
Так, так, так, а с этого места по подробней... 
Код

"enum FMOD_RESULT __cdecl FMOD::System_Create

Все бы и ничего, но что значит enum перед объявлением функции в описании ошибки?

Добавлено через 41 секунду
Либы все подключил.

Добавлено через 2 минуты и 7 секунд
Я так понимаю, ему __cdecl требуется, судя из ошибки? Но в навтройках проекта и стоит по умолчанию __cdecl

Добавлено через 2 минуты и 58 секунд
Может нужно еще отдельно какие-то длл-ки подключтать? Тогда как?

Автор: Alexeis 25.5.2009, 09:33
SneG0K, у тебя ж есть рабочий проект. Глянть в нем какие либы подключены и какие настройки по умолчанию для вызова функций. 

Автор: SneG0K 26.5.2009, 15:37
Проблема в том, что настройки одинаковые... Коды одинаковые, но ошибка блин :(

Автор: Alexeis 26.5.2009, 16:00
что за fmod.hpp ?
Думаю нужен fmod.h

Добавлено через 4 минуты и 11 секунд
Хотя не для плюсов там fmod.hpp

Автор: Alexeis 26.5.2009, 16:18
Попробуй еще указать #define __cplusplus , по идее он и так должен быть, но вдруг

Автор: SneG0K 26.5.2009, 22:31
Цитата(Alexeis @  26.5.2009,  15:00 Найти цитируемый пост)
Хотя не для плюсов там fmod.hpp 

 smile 

Цитата(Alexeis @  26.5.2009,  15:18 Найти цитируемый пост)
Попробуй еще указать #define __cplusplus , по идее он и так должен быть, но вдруг 


Да блин уже ничего не помогает :( 

Автор: Andrey44 1.6.2009, 14:47
Код

#pragma comment(lib, "fmod.lib")

Автор: Alexeis 1.6.2009, 15:05
Andrey44, так у него ж #pragma comment(lib, "fmodex_vc.lib") 

Автор: SneG0K 2.6.2009, 19:09
fmod.lib в природе не существует в четвертой версии ( не знаю как раньше ). Теперь либы каждая под свой компилятор.

Автор: Andrey44 3.6.2009, 14:34
Alexeis, ой, извиняюсь, недосмотрел. smile 

Хотя ...........
Код

#pragma comment(lib, "fmodex_vc.lib")

Либа лежит в папке с проектом? Или в какой-то другой папке?
А то я смотрю на
Код

#include "fmod/fmod.hpp"

И что-то меня терзают смутные сомнения.

Автор: SneG0K 4.6.2009, 14:56
Цитата(Andrey44 @  3.6.2009,  13:34 Найти цитируемый пост)
Либа лежит в папке с проектом? Или в какой-то другой папке?

Либа лежит уже по всем папкам на комне smile Точнее лежала smile 
Либу явно находит... Если не находит либо, то пишет ошибку, что либы нет.

Автор: Andrey44 5.6.2009, 07:35
SneG0K, выложи свой проект, попробую я откомпилить

Автор: Lazin 5.6.2009, 08:29
какую crt использует библиотека, какую твоя программа, возможно ты пытаешься использовать статическую версию crt а либа хочет динамическую. Может ты пытаешься к релиз версии проекта линковать отладочную версию библиотеки... то что ты написал:
Цитата(SneG0K @  4.6.2009,  14:56 Найти цитируемый пост)
Либа лежит уже по всем папкам на комне

говорит что ты это делаешь методом тыка smile 

Автор: SneG0K 10.6.2009, 20:44
Andrey44, забей. Я уже уже удалил и форматировал винт от греха подальше.
Цитата(Lazin @  5.6.2009,  07:29 Найти цитируемый пост)
оворит что ты это делаешь методом тыка smile  

Ну, после долгих неудач - методом тыка)

Автор: Andrey44 11.6.2009, 07:25
Цитата(SneG0K @  10.6.2009,  20:44 Найти цитируемый пост)
Я уже уже удалил и форматировал винт от греха подальше.

 smile Суперррррешение! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)