Всем доброго времени суток!
Пытаюсь прикрутить Bass.dll к проге на MFC (Visual C++, Visual Studio 2012):
#pragma comment(lib, "bass")
#include "stdafx.h"
#include <atlstr.h>
#include "Sound.h"
#include "bass.h"
....
Bass.dll - версия 2.4
все файлы (bass.lib, bass.dll, bass.h) имеются и досягаемы для студии...
но на сборке проекта студия таки говорит:
1>...\bass.h(13): error C2628: недопустимый "Sound" с последующим "unsigned" (возможно, отсутствует ";")
1>...\bass.h(13): error C2628: недопустимый "Sound" с последующим "__int64" (возможно, отсутствует ";")
1>...\bass.h(13): error C2371: QWORD: переопределение; различные базовые типы
1> c:\program files (x86)\windows kits\8.0\include\um\windns.h(43): см. объявление "QWORD"
1>
1>Сбой построения.
И в этой 13 строке в хидэре вот что:
typedef unsigned __int64 QWORD;
а окружают 13 строку строки:
#ifndef BASS_H
#define BASS_H
#ifdef _WIN32
#include <wtypes.h>
typedef unsigned __int64 QWORD;
#else
#include <stdint.h>
#define WINAPI
#define CALLBACK
Этот же проект я нарисовал в Embarcadero XE7 C++. Для эмбаркадэры пришлось конвертировать bass.lib в эмбаркадэровский формат и в итоге все пришилось к проекту нормально и все заработало. Но надо все тоже самое, но в Visual Studio. И вот студия отторгает хидэр. Либу не конвертил - взял как есть с сайта баса. Что-то не так в моем проекте - не думаю, что в хидэре ошибка. Может опции какие в свойствах проекта поставить - хрен их знает - я пока еще мало Visual Studio юзал... Кто мог бы подсказать как студию убедить, что в хидэре все на самом деле правильно? - Может быть в свойствах проекта сделать так, чтобы строка #ifdef _WIN32 ложь возвращала?