Версия CodeBlocks MinGW не находит файлы, приходится вручную включать в компоновщик

0

Windows 7 64-разрядный код: Блоки 13+ Версия MinGW 32-бит.

Компиляция кода из "Уловки гуру программирования для Windows", в частности, демо 3_4.

Итак, вот проблема, которую я знаю, это, в частности, проблема Code :: Blocks, но я считаю, что здесь больше людей Code :: Blocks, чем на программных форумах.

Я установил Code: Blocks 13.12 MinGW-версию, я думаю, что все хранили все по умолчанию. Я загружаю свой демонстрационный проект 3_4, создаю в режиме деблокирования и получаю сообщение об ошибке "неопределенная ссылка на" PlaySoundA @12 ". Я Google вокруг, и найти совет, который говорит, что я должен включить lwinmm в настройки проекта/компоновщика.

Однако внутри папки установки Code :: Blocks есть папка include, содержащая libwinmm.a. Я могу быть ленивым и просто добавить весь список файлов библиотеки frikkin, и если я это сделаю, он будет компилироваться и запускаться в режиме Release. Без этого он будет только компилироваться и работать в режиме отладки.

Теперь мне кажется, что если я установлю версию Code :: Blocks MinGW, которую Code :: Blocks должен знать, где эти вонючие файлы библиотеки и что мне не нужно добавлять их. Итак, как мне настроить это? Какой вариант я использую, ящик, я проверяю, путь, который я устанавливаю, и т.д.? Как заставить Code :: Blocks перестать быть ленивым POS и найти материал, который находится прямо там, в его собственной директории установки без необходимости добавлять вещи вручную в список компоновщиков?

Эта проблема также возникает с другим кодом, который я создаю. Некоторые из них запускаются в Debug, некоторые в Release, и в обоих. Почему это? Я неправильно установил Code :: Blocks или пропустил какую-то настройку?

Я ценю вашу помощь!

Теги:
linker

1 ответ

0

Вы должны добавить нужные библиотеки. Вы не можете ожидать, что компоновщик будет искать их. Эта часть конструкции механизма связывания C/C++. Если компоновщик отправился на поиски библиотек, вы не сможете контролировать то, что было в вашей программе.

IDE в Windows обычно включают наиболее часто используемые библиотеки (kernel32.lib, user32.lib и т.д.) В своих проектах по умолчанию. Но для менее широко используемых библиотек вы должны добавить их вручную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню