Я получаю какую-то ошибку связывания с программой, использующей MS-s waveform API.Код, который я использую, можно найти здесь: http://www.planet -source-code.com / vb / scripts / ShowCode.asp? TxtCodeId = 4422 & lngWId = 3 Это первый фрагмент кода на странице подрубрика «Открытие звукового устройства».Я не получаю никаких ошибок с кодом, однако мой компоновщик жалуется довольно настойчиво.Вывод следующий:
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\crt2.o:crt1.c|| undefined reference to `SetUnhandledExceptionFilter@4'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\crt2.o:crt1.c|| undefined reference to `ExitProcess@4'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\crtbegin.o:cygming-crtbegin.c|| undefined reference to `GetModuleHandleA@4'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\crtbegin.o:cygming-crtbegin.c|| undefined reference to `GetProcAddress@8'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(pseudo-reloc.o):pseudo-reloc.c|| undefined reference to `VirtualQuery@12'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(pseudo-reloc.o):pseudo-reloc.c|| undefined reference to `VirtualProtect@16'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(pseudo-reloc.o):pseudo-reloc.c|| undefined reference to `VirtualProtect@16'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\libgcc.a(cygming-shared-data.o)||In function `cmshared_get_ptr_from_atom':|
c:\crossdev\b4.4.1-tdm-1\build-sjlj\mingw32\libgcc\..\..\..\..\gcc-4.4.1\libgcc\..\gcc\config\i386\cygming-shared-data.c|91|undefined reference to `GetAtomNameA@12'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\libgcc.a(cygming-shared-data.o)||In function `_cmshared_create_or_grab':|
c:\crossdev\b4.4.1-tdm-1\build-sjlj\mingw32\libgcc\..\..\..\..\gcc-4.4.1\libgcc\..\gcc\config\i386\cygming-shared-data.c|140|undefined reference to `FindAtomA@4'|
d:\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\libgcc.a(cygming-shared-data.o)||In function `cmshared_add_ptr_as_atom':|
c:\crossdev\b4.4.1-tdm-1\build-sjlj\mingw32\libgcc\..\..\..\..\gcc-4.4.1\libgcc\..\gcc\config\i386\cygming-shared-data.c|118|undefined reference to `AddAtomA@4'|
||=== Build finished: 10 errors, 0 warnings ===|
Я также могу вставить сюда журнал сборки, если это будет необходимо.Кто-нибудь может дать мне знать, что мне нужно сделать, чтобы это исправить?Или, что еще лучше, как устранить неполадки самостоятельно, чтобы я сам мог решить будущие проблемы, подобные этой?
[РЕДАКТИРОВАТЬ]: Хорошо, так что мне удалось решить эту проблему.Во время игры в Project-> Build Options-> Linker Settings-> Link Libraries я заметил, что если я добавляю что-то вроде kernel32.lib, я получаю сообщение об ошибке ld, говорящее «не могу найти -lkernel32.lib».Поэтому я искал, пока не нашел нужные мне библиотеки и добавил к ним абсолютные пути, и теперь мой проект компилируется без нареканий!: D Однако это было довольно странно, так как я добавил свой путь поиска в библиотеке, и это, похоже, не помогло.Поэтому я снова просмотрел его, чтобы понять, почему он не работает, и кажется, что нужно добавить обратную косую черту к имени пути, например, если библиотеки расположены в «C: \ SDK \ Lib \»,добавить косую черту для Code :: BLocks, чтобы найти его правильно.Как только это было исправлено, я изменил опцию в настройках Linker-> Link Libraries на kernel32, как было рекомендовано, и теперь она работает без проблем.
Спасибо всем, кто помог мне с этим !!!^ _ ^