Цитата(rabbit @ 10.9.2006, 14:44 ) | Пытаюсь использовать FMOD в C++Builder 6. Все библиотеки и *.h скопировал как было указано в первой статьи. При сборке, код: "System-Create(&mysystem);", сишке не нравиться. Пишет: [Linker Error] Unresolved external 'FMOD_System_Create' referenced from H:\BORLAND\PROJECTS\UNIT1.OBJ smile Смысл ошибки понятен, было такое при обьявлении классов. Но в даном случае не понимаю что можно сделать. Помогите кто сможет. Буду благодарен за любые идеи smile |
Хоть почти двухгодовой давности, все же отвечу, тем более что сам с этим столкнулся. Под не Microsoft компиляторами для Windows (например, MinGW, Borland C++) C++like интерфейс FMOD недоступен(исключение компиляторы Intel). Вместо него придется использовать C-like интерфейс (без классов), и подключать fmod.h вместо fmod.hpp. Неудобно, но все же. В доках сказано:
| Цитата | Note that due to incompatible linking standards with C++ symbols in libraries across different compilers, you will not be able to use the C++ interface of FMOD Ex with these compilers.
You can only use the FMOD Ex C interface, as at least that has a compatible standard (ie stdcall symbols are always the same format). Each C++ compiler generates its own version of mangled symbols, and the mentioned compilers are not compatible with the symbols that MSVC produces, which is what FMOD is compiled in, and is the more popular compiler for commercial development at this stage.
Note that the Intel compiler and Codewarrior do not have this problem, they can resolve MSVC style symbols.
|
Возможно, это можно обойти покопавшись в опциях линковщика/компилятора или попробовав воспользоваться binutils Mingw, но я пока не пытался |