Связывание SDL-bgi в Code::Blocks в Windows с использованием пользовательского установочного каталога

У меня есть программа, которая работает в Linux с использованием SDL-bgi. Я загрузил двоичные файлы SDL-bgi с http://libxbgi.sourceforge.net/ и могу получить его скомпилировать, но я не могу связать его (выдает ошибки me"undefined reference to ...). Загрузка предоставляет DLL, но согласно ответу на этот вопрос , мне нужен .lib. Я не могу найти .lib нигде в загрузке.

Вот вывод tree /f в извлеченной папке:

│   AUTHORS
│   BUGS
│   build.sh
│   ChangeLog
│   CMakeLists.txt
│   INSTALL.md
│   LICENSE
│   README.md
│   sdl_bgi.spec
│   TODO
│   VERSION
│
├───bin
│   ├───CodeBlocks
│   │       SDL_bgi.dll
│   │
│   ├───Dev-Cpp
│   │       SDL_bgi.dll
│   │
│   └───Mingw64
│           SDL_bgi.dll
│
├───doc
│       functions.md
│       functions.pdf
│       howto_CodeBlocks.md
│       howto_CodeBlocks.pdf
│       howto_Dev-Cpp.md
│       howto_Dev-Cpp.pdf
│       sdl_bgi-quickref.pdf
│       sdl_bgi-quickref.tex
│       SDL_bgi_logo.png
│       SDL_bgi_logo.svg
│       turtlegraphics.pdf
│       turtlegraphics.tex
│       using.md
│       using.pdf
│
├───src
│       graphics.h
│       Makefile
│       Makefile.CodeBlocks
│       Makefile.DevCpp
│       SDL_bgi.c
│       SDL_bgi.h
│
└───test
[... a bunch of c files]

Я пытаюсь подключиться к библиотеке оттуда, где она есть, вместо C:\CodeBlocks\MinGW\bin, как рекомендуется в документации, потому что у меня нет нужных привилегий.


person Mark Gardner    schedule 10.04.2019    source источник


Ответы (1)


Первый метод, если вы не установили старый графический интерфейс Bordland в Codeblocks, используйте этот метод, иначе вы получите ошибку, например множественное объявление, потому что обе библиотеки используют одно и то же объявление функции

шаг: 1- Создайте новый проект консоли c, назовите его как хотите, затем вставьте файлы из папки include из zip ниже и вставьте его сюда C:\Program Files (x86)\CodeBlocks\MinGW\include, затем вставьте libsdlbgi.a из zip-файла по этому пути C:\Program Files (x86)\CodeBlocks\MinGW\lib

SDLBGI.zip

Шаг: 2-Перейдите к кодовым блокам, затем перейдите к настройке, затем выберите компилятор, перейдите к опции компоновщика и нажмите «Добавить», затем перейдите к ранее вставленному файлу libsdlbgi.a, затем добавьте его, затем перейдите к компоновщику каталога поиска и сделайте то же самое с libsdlbgi.a снова.

Шаг: 3. Напишите любую простую программу, соберите, скомпилируйте и запустите ее.

Второй способ, если вам нужны и bgi, и sdl bgi

Внимательно следуйте всем шагам, чтобы все заработало

Шаг: 1. Просто создайте новый проект в Code-Block с помощью SDL2 из категории, нажмите «Ввод» и дайте название проекту, затем нажмите «Далее» и завершите создание нового проекта.

Шаг 2. Перейдите в каталог, в котором вы создали проект, затем скопируйте эти файлы 'SDL_bgi.c' , 'SDL_bgi.h' и 'sdlbgidemo. c' , 'logo.bmp' из "SDL_bgi-2.2.4" [папка src] и [папка test] в папку проекта.

Шаг: 3. Сначала удалите файл main.cpp по умолчанию из проекта codeblock, затем добавьте "sdlbgidemo.c" в проект, затем нажмите "ОК" в следующем окне в CodeBlocks, которое попросит выбрать целевой файл для " отладка" и "выпуск"

Шаг 4: выберите sdlbgidemo.c в блоке кода, затем откройте его в редакторе кода, затем измените заголовок #include ‹'graphics.h'> на #include "SDL_bgi.c"< /сильный>

Шаг: 5-последний шаг нажмите кнопку построен и запустите, проект будет построен и запущен, и вы, вероятно, увидите ранее вставленный файл logo.bmp на экране, после чего вы сможете увидеть демонстрацию всех функций библиотеки SDL_bgi.

Вот файл проекта Code-block [zip] для вас со всеми необходимыми изменениями, чтобы вы могли легко запустить его с помощью Code-blocks.

[Файл проекта Code-Blocks.zip]

если вы не хотите повторять шаг 2 и шаг 3 каждый раз, когда создаете новый проект, выполните шаг 5. чтобы решить эту проблему.

Шаг: 6. Сначала перейдите в каталог, в который вы установили свои кодовые блоки, затем просмотрите папку [Mingw], затем папку [include] в этой папке, которую вы можете просто скопировать 'SDL_bgi.c' , 'SDL_bgi.h' или если вы уже установили старую графическую библиотеку Borland [BGI], вам необходимо создать отдельную папку для SDL-BGI и должны вставить все файлы, о которых я говорил вам ранее, в эту вновь созданную папку, а затем, если вы хотите использовать или включить эти файлы в свой проект, просто введите эти строки #include "SDL_bgi.c" или #include "[Ранее созданная папка]/SDL_bgi.c", чтобы запустить вашу программу.

Вот ссылка на zip-файл, в котором есть снимок экрана со всеми шагами, которые мы предприняли до сих пор...

[ScreenShot.zip]

Надеюсь, это решит вашу проблему и сэкономит ваше время.

Наконец-то

Это все, друзья

person Animax Dev    schedule 22.12.2019
comment
Так что, просто скомпилировать его самому? - person Mark Gardner; 05.01.2020
comment
Да, загрузите файл проекта кодовых блоков вторым способом, затем распакуйте его где-нибудь на своем ПК, затем откройте файл проекта кодовых блоков, затем просто нажмите кнопку «Создать и запустить» и наслаждайтесь демонстрацией.... - person Animax Dev; 05.01.2020