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 или пропустил какую-то настройку?
Я ценю вашу помощь!
Вы должны добавить нужные библиотеки. Вы не можете ожидать, что компоновщик будет искать их. Эта часть конструкции механизма связывания C/C++. Если компоновщик отправился на поиски библиотек, вы не сможете контролировать то, что было в вашей программе.
IDE в Windows обычно включают наиболее часто используемые библиотеки (kernel32.lib, user32.lib и т.д.) В своих проектах по умолчанию. Но для менее широко используемых библиотек вы должны добавить их вручную.