Налаштування проекту C++ в Eclipse на прикладі програми SFML

Всім доброго часу доби! При налаштуванні проекту Eclipse я зіткнувся з кількома проблемами. Після спроб знайти вирішення цих проблем, я знаходив очевидні поради на закордонних форумах, які не вирішували проблему. Почухавши потилицю, я почав вирішувати проблеми сам. У статті я детально опишу налаштування Eclipse CDT, MinGW, підключення header'ів і бібліотек. Стаття розрахована для новачків.

Визначення
Eclipse CDT — інтегроване середовище розробки C і C++ на базі платформи Eclipse.

MinGW — компілятор, нативний програмний порт GNU Compiler Collection (GCC) під Microsoft Windows, разом з набором вільно розповсюджуваних бібліотек імпорту і заголовкових файлів для Windows API. MinGW дозволяє розробникам створювати рідні додатки Microsoft Windows.

SFML — вільна платформна мультимедійна бібліотека, написана на C++.

Установка Eclipse і MinGW
Для роботи Eclipse потрібно Java.

Викачуємо Eclipse CDT офіційного сайту і розпаковуємо в будь-яке зручне місце, наприклад
C:\eclipse
. Запускаємо
eclipse.exe
, якщо все запрацювало, чудово.

Далі качаємо установник MinGW. Запускаємо його. Бачимо вікно з описом, натискаємо
Install
. Якщо потрібно міняємо місце установки і натискаємо
Continue
.

Відзначаємо для установки mingw-32-base і mingw-gcc-g++.



Після цього натискаємо Installation -> Apply Changes. На вікні натискаємо Apply і чекаємо поки завантажаться і встановляться компоненти. Коли установка закінчена, качаємо msys. Думаю при установці складнощів не виникне. Тепер потрібно додати в системну змінну Path шлях до папки
bin
MinGW, папки
bin
msys.

У мене вийшло так:
d:\MinGW\bin\;d:\msys\1.0\bin\


Качаємо SFML MinGW, і розпаковуємо куди завгодно.
На цьому підготовка закінчена.

Створення і налаштування проекту C++
Запускаємо Eclipse, натискаємо File- > New -> C++ Project. Створюємо проект Hello World і вибираємо MinGW як на картинці.



Далі ПКМ на створеному проекті -> Properties, відкриваємо C/C++ Build -> Settings -> Tool Setting -> GCC C++ Compiler -> Includes.
1. Натискаємо Add.
2. Вибираємо папку includes з директорії, куди ми розпакували SFML.



Після цього переходимо на пункт Preprocessor і в Defined Symbols додаємо SFML_DYNAMIC.

Ось ми підійшли до моменту де я отримав першу помилку. Якщо підключити бібліотеку з розширенням .a через MinGW C++ Linker -> Libraries, нічого працювати не буде. Ці бібліотеки потрібно підключати через MinGW C++ Linker -> Miscellaneous як Other Object. Вказуємо шлях до бібліотек SFML, потрібно підключити
libsfml-graphics.a, libsfml-window.a, libsfml-main.a




Побудова проекту
Замінюємо весь код автоматично створеному .cpp на це:

#include "SFML/Graphics.hpp"

int main() 
{
sf::RenderWindow window(sf::VideoMode(640, 480), "Test");

while(window.isOpen()){

sf::Event event;
while(window.pollEvent(event)){
if(event.type == sf::Event::Closed){
window.close();
}

window.clear();
window.display();
}
}

return 0;
}


Натискаємо Build

Все збереться успішно але працювати не буде, так як відсутні dll. Копіюємо все з папки bin в директорії SFML в папку Debug нашого проекту.
Тепер тиснемо ПКМ .exe файл, який розташований в папці Debug нашого проекту, вибираємо Run As -> Run Configurations, тиснемо C/C++ Application і натискаємо New launch configuration, після цього натискаємо Run нічого не змінюючи.



Після цього запускати проект можна за допомогою Ctrl + F11 або відповідною іконкою на панелі інструментів.

Бачимо вікно з чорним фоном, все працює.

P. S. Написав статтю давно, і забув про неї =) Що то могла застаріти.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.