Перейти к содержимому

Как установить библиотеку в codeblocks

  • автор:

Linking a Library in Code::Blocks

I’ve not installed Code::Blocks on a Linux computer, but for a moment I’ll pretend that such an installation has the same issue I described in last week’s Lesson: You must manually link in the C language math library to create any program that uses a math.h function.

More importantly, to expand the C language’s capabilities, you frequently need to mix in another library. The standard library is linked by default, but pretend that you’re using a library that creates graphics, sound, or provides other specific functions beyond the normal scope of C. You must specify that such a library is linked into the final program.

The library also comes with a header file that provides function definitions, constants, structures, and other whatnot. The header file, however, is not the same as the library. The library is what contains the code that makes the functions work.

On the command line, you use the -lx switch to link in library x. In Code::Blocks, things work differently.

As an example, suppose you need to link in the math library in a Code::Blocks project. You don’t have to on a Mac or PC, but these are the steps you would use. And you can follow the steps to link in any library, not just the math library. Some huge projects require multiple libraries.

After creating the Code::Blocks project, follow these steps to add a library:

1. Choose Project, Build Options.

The Project Build Options dialog box appears.

2. Click the Linker Settings tab.
3. Click the Add button.
4. In Add Library dialog box, click the Ellipsis (…) button to browse to the location of the library file.

Use the Choose Library to Link dialog box to find the library’s location on your computer’s mass storage system:

  • For the MinGW compiler, the location for standard libraries is MinGW\lib , with the full path: C:\Program Files (x86)\CodeBlocks\MingGW\lib\ for a standard Code::Blocks installation. If the library was saved elsewhere, you must browse to that specific directory (“folder”).
  • With XCode on the Mac, the library locations differ depending on the version of XCode. In the current version, C language libraries are kept in /Applications/Xcode.app/Contents/Developer/ . Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib . Ugh.
  • In Linux, and other Unices, the traditional location for C libraries is /usr/lib .

If you were linking in the math library — which isn’t necessary on a PC, but doing so doesn’t screw up anything — you would locate the file named libm.a , which is the way MinGW names its libraries. On the Mac, the math library is named libm.tbd .

5. Select the library file and click the Open button.
6. Click No to avoid using a relative path.

I’m a fan of direct or absolute pathnames.

7. Click OK to add the library to the list.
8. Click OK to close the Project Build Options dialog box.

9. Choose File, Save Project.

The library is linked after the code is compiled. That process allows the library’s functions to access their magic. Otherwise you’d get those ugly linker errors.

In next week’s Lesson, I cover how to locate and install bonus C language library files.

C++ Установка библиотек в Code::Blocks

В этой статье описывается, как настроить новые библиотеки в среде Code::Blocks.

Введение

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

Главные файлы

Существует два способа включения заголовочных файлов (*.h / *.hpp) нашей библиотеки, я расскажу о более простом и “удобном”.

Первое, что нам нужно сделать, это извлечь все папки и файлы в какую-нибудь папку, например, в папку Library, расположенную на рабочем столе.

Затем в нашей IDE мы создаем новый проект. Теперь самый важный момент, нажимаем на кнопку, как показано на рисунке:

В появившемся окне слева щелкните по имени нашего проекта (чтобы не делать это отдельно для режима Debug и Release), затем на вкладке Search directories, затем на вкладке Compiler:

Нажмите Добавить и введите путь* к папке include в папке библиотеки, в моем случае это будет:
C:\Users\User\Desktop\Biblioteka\include.

Если это уже сделано, переходим к связыванию.

Ссылка

С открытым окном (Project -> build options) мы возвращаемся на вкладку Search directories, но на этот раз открываем вкладку Linker.

Снова нажмите кнопку Add и введите путь* к папке lib в папке библиотеки, в моем случае он выглядит следующим образом: Библиотека C:\Users\User\Desktop\Biblioteka\lib.

Если у нас это есть, мы открываем вкладку настроек Linker, и там есть еще одна кнопка Add. Файл, который мы хотим добавить, имеет расширение *.a или *.lib. Мы можем добавить такой файл, набрав его путь*, или просто набрав его имя, например, “library”. (библиотека.а).

– путь не нужно вводить вручную, просто нажмите кнопку “…” и откроется другое окно с выбором файла(ов).

*.dll файлы

Последний шаг – загрузка файлов *.dll. Если при запуске приложения вы получите аналогичное сообщение:

Это означает, что вы не добавили указанный файл *.dll. Для этого просто найдите указанный файл (в моем случае “allegro_font-5.1.dll”). Обычно он находится в папке: Library, а затем поместите его рядом с нашим приложением *.exe (в той же папке).

Завершение

Если вы сделали все так, как я описал в этой короткой статье, ваш проект должен компилироваться правильно, без ошибок типа:

Однако, если ни один из них не отображается, очевидно, что имя заголовочного файла не существует, или вы не добавили все необходимые файлы в компоновщик.

How do I link to a library with Code::Blocks?

I have the same problem, but I’m new to programming and Code::Blocks, and I want to use the GDI32 library. How can I install it? I’m very confused because I can use the windows.h header, but some functions like TextOut aren’t available.

3 Answers 3

The gdi32 library is already installed on your computer, few programs will run without it. Your compiler will (if installed properly) normally come with an import library, which is what the linker uses to make a binding between your program and the file in the system. (In the unlikely case that your compiler does not come with import libraries for the system libs, you will need to download the Microsoft Windows Platform SDK.)

To link with gdi32:

enter image description here

This will reliably work with MinGW-gcc for all system libraries (it should work if you use any other compiler too, but I can’t talk about things I’ve not tried). You can also write the library’s full name, but writing libgdi32.a has no advantage over gdi32 other than being more type work.
If it does not work for some reason, you may have to provide a different name (for example the library is named gdi32.lib for MSVC).

For libraries in some odd locations or project subfolders, you will need to provide a proper pathname (click on the «. » button for a file select dialog).

Как связать библиотеку с Code :: Blocks?

У меня та же проблема, но я новичок в программировании и Code:: Blocks, и я хочу использовать библиотеку GDI32. Как его установить? Я очень смущен, потому что я могу использовать заголовок windows.h, но некоторые функции, такие как TextOut , недоступны.

3 ответа

Библиотека gdi32 уже установлена ​​на вашем компьютере, за ней будет работать несколько программ. Ваш компилятор (если он установлен правильно) обычно поставляется с библиотекой импорта, что и использует компоновщик, чтобы сделать привязку между вашей программой и файлом в системе. (В маловероятном случае, когда ваш компилятор не поставляется с библиотеками импорта для системных библиотек, вам необходимо загрузить SDK для Microsoft Windows Platform.)

Для связи с gdi32:

Изображение 130194

Это будет надежно работать с MinGW-gcc для всех системных библиотек (он должен работать, если вы используете какой-либо другой компилятор, но я не могу говорить о вещах, которые я не пробовал). Вы также можете написать полное имя библиотеки, но запись libgdi32.a не имеет преимуществ перед gdi32 , кроме как больше работы с типом. Если по какой-то причине это не работает, возможно, вам придется указать другое имя (например, библиотека имеет имя gdi32.lib для MSVC).

Для библиотек в некоторых нечетных местоположениях или вложенных подпроектах проекта вам необходимо указать правильный путь (нажмите кнопку «. » для диалога выбора файла).

Угадав, вы использовали Code:: Blocks для создания проекта Консольного приложения. Такой проект не связан с материалом GDI, потому что консольные приложения обычно не предназначены для работы с графикой, а TextOut — графическая функция. Если вы хотите использовать функции GDI, вы должны создать проект Win32 Gui, который будет настроен для связи в GDI для вас.

Повторить процесс, необходимый для используйте библиотеку: Один раз в библиотеке:

1) Приобретите библиотеку. Скачать это с веб-сайта или через менеджера пакетов.

2) Установите библиотеку. Разархивируйте его или установить его через менеджера пакетов.

3) Скажите компилятору, где искать для файла (ов) заголовка для библиотека.

4) Скажите компоновщику, где искать для файла (ов) библиотеки для библиотека.

Один раз за проект:

5) Сообщите компоновщику, который статический или импортировать файлы библиотеки для связи. 6) # включить библиотеку заголовок файла (ов) в вашей программе. 7) Убедитесь, что программа знает где можно найти любую динамическую используемых библиотек.

Этапы 1 и 2 — Приобретение и установить библиотеку Загрузите и установите библиотеку на ваш жесткий диск. См. Учебник в статических и динамических библиотеках для получения дополнительной информации об этом шаг. Шаги 3 и 4 — Скажите компилятору где найти заголовки и файлы библиотеки Мы собираемся сделать это на глобальной базы, поэтому библиотека будет доступный для всех наших проектов. Следовательно, следующие этапы только нужно сделать один раз за библиотека. A) Перейдите в меню «Настройки» и выберите «Компилятор». B) Перейдите на вкладку «Каталоги». вкладка компилятора уже будет выбранный для вас. C) Нажмите кнопку «Добавить» и добавьте путь к файлам .h для библиотека. Если вы используете Linux и установил библиотеку через менеджер пакетов, убедитесь, что / usr/include указан здесь. D) Перейдите на вкладку «Linker». нажмите Кнопка «Добавить» и добавьте путь в .lib файлы для библиотеки. Если вы используете Linux и установлена ​​библиотека через пакет менеджер, убедитесь, что /usr/lib перечисленные здесь. E) Нажмите кнопку «ОК». Шаг 5 — Скажите компоновщику, который библиотеки, используемые вашей программой Для шага 5 нам нужно добавить библиотечные файлы из библиотеки в наш проект. Мы делаем это на индивидуальная проектная база. A) Щелкните правой кнопкой мыши на полужирном имя проекта под умолчанию рабочее пространство (возможно, «Консоль» приложение «, если вы не изменили Это). Выберите «Параметры сборки» из меню. B) Перейдите на вкладку компоновщика. Под Окно «Библиотеки ссылок», нажмите кнопку «Добавить» и добавьте библиотеки, которую вы хотите, чтобы ваш проект использовать. C) Нажмите кнопку «ОК»

Шаги 6 и 7 — заголовок #include файлов и убедитесь, что проект может найти DLL Просто # включить заголовочный файл (ы) из библиотеки в вашем проекте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *