Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94

Не работает стороняя библиотека Audiere в другом проекте

26.08.2017, 19:45. Показов 4662. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Суть проблемы такая:
- Скачал библиотеку Audiere для того, чтобы добавить саундтреки в игру
- Протестировал в одном проекте - все работает
- Подключил библиотеку в другой проект, перенес код - команда не определена.
Что делать? Как дальше жить?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2017, 19:45
Ответы с готовыми решениями:

Отсылка на email работает в одном проекте, и не работает в другом
в одном приложении письмо отправляет без проблем IdSMTP1.Host:='smtp.mail.ru'; IdSMTP1.Port:=2525; IdSMTP1.Username:='ник'; ...

Метод Гаусса не работает в другом проекте
Скопировал метод с Вики и протестил на примерах СЛАУ - работало. Скопировал в другой проект - не работает, дает NAN. + не могу передать...

Код в одном проекте работает, в другом нет
Добрый вечер.у меня возникла такая проблема:я писала функцию по удалению оценок в одном проекте (пишу на Visual Studio 2012),а вся...

16
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
26.08.2017, 19:52
hunterlan,
1. Скачиваем библиотеку на оф.сайте (в моём случае — это Win32 Binary Release)
2. Традиционно переносим файл «audiere.lib» в папку «lib» компилятора, а заголовочник «audiere.h» также в папку «include» вашего компилятора
3. Создаём для примера консольный проект C++
4. В настройках линкера в проекте добавляем «audiere.lib»
5. Не забываем «audiere.dll» из папки «bin» положить рядом с исходниками нашего проекта, а затем и рядом с exe-файлом нашей программы.
6. Необходимо подключить заголовочные файлы:
C++
1
2
3
4
5
6
7
#include <iostream> //нужен для вывода строк "cout<<"
#include "conio.h" //нужен намеренно для "getche()", а не "cin>>"
#include "windows.h" //библиотека audiere её требует
#include "audiere.h" //сама библиотека
 
using namespace std;
using namespace audiere; //подключаем пространства имён для более короткой записи
7. Далее главная функция:
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
setlocale(0, "Russian"); //пусть наша консоль говорит по-русски
cout<<"Простейшее воспроизведение звука"<<endl; 
 
AudioDevicePtr device  = OpenDevice(); //Для начала нужно открыть AudioDevice 
OutputStreamPtr sound = OpenSound(device , "sound.wav" , false); //создаем поток для нашего звука
sound->play(); //проигрываем наш звук
getche(); //ждём нажатия любой клавиши прежде чем выйти из программы
 
}
С Хабра...
Вы даже поиском не можете воспользоваться?
0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 19:54  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
С Хабра...
Вы даже поиском не можете воспользоваться?
Я вижу, вы не можете прочитать описание.
Я уже читал в Хабре, и собственно код содрал с Хабра, но проблема в том, что в одном проекте, этот код виден, а в другом он не определяется.
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
26.08.2017, 20:02
hunterlan,
Цитата Сообщение от hunterlan Посмотреть сообщение
но проблема в том, что в одном проекте, этот код виден, а в другом он не определяется
Не может такого быть. Значит что-то не так делаете. Библиотеку в линкере задаете? Путь к либе? К хедеру? Все правильно? Когда задаете все эти параметры, проверьте, в каком типе сборке вы это делаете, и посмотрите, проект находится в этой сборке или нет. Бывает такое, что в VS, когда задаешь пути до либ, хедеров в настройках проекта, не замечаешь, что у тебя строит в настройках вкладка Release. А сам проект в Debug.
Вообщем проверьте.

Кстати, почему не OpenAL? Она гибче будет и мощнее в несколько раз
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
26.08.2017, 20:02
Цитата Сообщение от hunterlan Посмотреть сообщение
команда не определена
Что значит? Не компилируется? Какие ошибки выдаёт компилятор?
0
26.08.2017, 20:04

Не по теме:

как дальше жить :D

0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 20:10  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Что значит? Не компилируется? Какие ошибки выдаёт компилятор?
Вот что выдает компилятор
Кликните здесь для просмотра всего текста
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
26.08.2017, 20:11
Цитата Сообщение от hunterlan Посмотреть сообщение
Вот что выдает компилятор
Сборку запусти, скопируй и выложи вывод компилятора (текстом).
0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 20:14  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Сборку запусти и скопируй и выложи вывод компилятора.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Ошибка    C2065   AudioDevicePtr: необъявленный идентификатор   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   25  
Ошибка    C2065   device: необъявленный идентификатор   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   25  
Ошибка    C2065   device: необъявленный идентификатор   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   26  
Ошибка    C2065   device: необъявленный идентификатор   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   32  
Ошибка    C3861   OpenDevice: идентификатор не найден    Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   25  
Ошибка    C3861   OpenSound: идентификатор не найден Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   32  
Ошибка    C2065   OutputStreamPtr: необъявленный идентификатор  Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   32  
Ошибка    C2065   sound: необъявленный идентификатор    Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   32  
Ошибка    C2065   sound: необъявленный идентификатор    Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   33  
Ошибка    C2065   sound: необъявленный идентификатор    Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   39  
Предупреждение    C4244   аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   19  
Ошибка    C2227   выражение слева от "->play" должно указывать на тип класса, структуры или объединения либо на универсальный тип  Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   39  
Ошибка (активно)   E0020   идентификатор "AudioDevicePtr" не определен Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   25  
Ошибка (активно)   E0020   идентификатор "device" не определен Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   26  
Ошибка (активно)   E0020   идентификатор "OutputStreamPtr" не определен    Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   32  
Ошибка (активно)   E0020   идентификатор "sound" не определен  Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   33  
Ошибка    C2146   синтаксическая ошибка: отсутствие ";" перед идентификатором "device"  Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   25  
Ошибка    C2146   синтаксическая ошибка: отсутствие ";" перед идентификатором "sound"   Course_work_Tomogochi   g:\шаг\пс-27-16\c++\course_work_tomogochoi\course_work_tomogochi\course_work_by_sharykin.cpp   32  
Ошибка (активно)   E0065   требуется точка с запятой ";" Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   25  
Ошибка (активно)   E0065   требуется точка с запятой ";" Course_work_Tomogochi   g:\ШАГ\ПС-27-16\C++\Course_work_Tomogochoi\Course_work_Tomogochi\Course_work_by_Sharykin.cpp   32
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
26.08.2017, 20:14
hunterlan, Ало, прием? Ты сказал, что все сделал так, как написано на хабре. А почему в твоем коде я не вижу объявление пространства имен using namespace audiere;? А?
0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 20:16  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
Кстати, почему не OpenAL? Она гибче будет и мощнее в несколько раз
Потому что проект завтра сдавать
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
26.08.2017, 20:19
AudioDevicePtr где объявлен, и как?
0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 20:20  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
AudioDevicePtr где объявлен, и как?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include<iostream>
#include<string>
#include<time.h>
#include<conio.h>
#include<vector>
#include<fstream>
#include<io.h>
#include<Windows.h>
#include"CreateZver.h"
#include"SetFunction.h"
#include"Play.h"
#include <audiere.h> //сама библиотека
#pragma comment (lib,"audiere.lib")
using namespace std;
void main()
{
    setlocale(LC_ALL, "RUS");
    bool exit = false;
    srand(time(NULL));
    char *Variants[5] = { {"New Game"}, {"Continue Game"}, {"Tournamment Table`s"}, {"About"}, {"Exit"} };
    SetColor(White, Black);
    int i_input;
    int ix=20, iy = 0;
    int emb = 0;
    AudioDevicePtr device = OpenDevice(); //Для начала нужно открыть AudioDevice 
    if (!device)
    {
        cout << "Ошибка открытия AudioDevice\n";
    }
    else
    {
        OutputStreamPtr sound = OpenSound(device, "Main Menu.ogg", false); //создаем поток для нашего звука
        if (!sound)
        {
            cout << "21321\n";
        }
        else
        {
            sound->play(); //проигрываем наш звук
        }
 
    }
 
    
    for (int i = 0; i < 5; i++)
    {
        cout << Variants[i] << '\n';
    }
    setCursor(ix, iy);
    do
    {
        i_input = _getch();
        switch (i_input)
        {
            case 72://вверх
            {
                if (iy < 1)
                {
                    iy = 4;
                }
                else
                {
                    iy--;
                }
                system("cls");
                for (int i = 0; i < 5; i++)
                {
                    cout << Variants[i] << '\n';
                }
                setCursor(ix, iy);
            } break;
            case 80://вниз
            {
                if (iy == 4)
                {
                    iy = 0;
                }
                else
                {
                    iy++;
                }
                system("cls");
                for (int i = 0; i < 5; i++)
                {
                    cout << Variants[i] << '\n';
                }
                setCursor(ix, iy);
            } break;
            case 13: // нажатие на enter
            {
                if (iy == 0) //newgame
                {
                    
                    emb = Create();
                    system("cls");
                    play(emb);
                }
                else if (iy == 1) // contuniuegame
                {
 
                }
                else if (iy == 2) // tournament
                {
                    string show;
                    ifstream fin;
                    system("cls");
                    fin.open("Tournament.txt");
                    if (fin.is_open() != NULL)
                    {
                        for (show; getline(fin, show);)
                        {
                            cout << show << '\n';
                        }
                    }
                    else
                    {
                        cout << "Файл не удалось открыть\n";
                    }
                }
                else if (iy == 3) // about
                {
 
                }
                else if (iy == 4) // exit
                {
                    exit = true;
                    cout << '\n';
                }
            }break;
        }
    } while (exit != true);
    system("pause");
}
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
26.08.2017, 20:21
Лучший ответ Сообщение было отмечено hunterlan как решение

Решение

hunterlan, перед using namespace std; поставь using namespace audiere; и все должно заработать
1
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
26.08.2017, 20:21
Цитата Сообщение от nd2 Посмотреть сообщение
C++
1
AudioDevicePtr
Это тип, где и как объявлен?
0
3 / 2 / 2
Регистрация: 14.04.2016
Сообщений: 94
26.08.2017, 20:22  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
перед using namespace std; поставь using namespace audiere; и все должно заработать
Ой емаё!
Видимо от счастья забыл написать!
Спасибо огромное, и простите, что нагрубил вам.
Спасибо все огромное, кто помогал мне!
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
26.08.2017, 20:25
hunterlan, Не за что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.08.2017, 20:25
Помогаю со студенческими работами здесь

Стороняя библиотека и ошибка "не содержит конструктор, который принимает ноль аргументов"
Здравствуйте прошу помощи в решении следующей проблемы. К проекту подключена сторонняя библиотека содержащая событие-или что это- messege...

Как работает библиотека в Android Studio, как ее подключить, чтобы она заработала в проекте?
здраствуйте) столкнулся с такой проблемой: не понимаю как работает библиотека в андроид студио, как ее подключить, чтобы она заработала в...

Code::Blocks в определенном проекте не компилирует "tr1/shared_ptr.h", при этом в другом проекте компилирует!
Здравствуйте, хотел бы попросить у вас помощи. Пытаюсь написать простой платформер на C++, и в определенный момент мне понадобился...

Как обращаться к форме в другом проекте?
Ситуация такая: Есть Project1 и у него есть Form1. Есть Project2 с Form2. Оба проекта в одном решении. Как мне в коде...

Рабочий код не компилируется в другом проекте
Работаю в MS Visual Studio 2010. Код разделён на три файла. Первые два просто для того, чтобы не отвлекаться на создание окна. Всё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru