Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: ZERG в Sep 22, 2006, 08:31



Титла: C++
Публикувано от: ZERG в Sep 22, 2006, 08:31
Уча програмиране с С++ по един учебник който е малко стар.В това няма нищо лошо в началото нямах проблеми но ето че като понапреднах малко и те се появиха.В началото използвах стандартни функции и библиотеки които секи компилатор ги поддържа.Сега обаче започнах да уча за изобразяване на графични приложения и ето първия проблем на който попаднах.
Явно с учебника е вървял някакаф диск който аз нямам за съжаление.80% от сорсовете са направени с функции и библиотеки които са създадени специално за книгата.
Примерно за една проста програма за изобразяване на каквото и да било в книгата ми пише да използван #include "ccc.win.cpp".Естествено моят компилатор Г++ не го намира а пък аз незнам коя е стандартната библиотека за графичните приложения.
Написах Г++ --Хелп поразрових се налко и видях че в една директория с името С++ са дадени библиотеките който компилаторат ги поддържа обаче те се оказаха явно много малко и вопще не видях да има библиотека за графични изображения примерно с името <cwin> или нещо такова.
Дайте някакъв съвет от каде мога да намеря всички стандартни библиотеки с описания кое за какво се използва
че  стигнах до задънена улица !!!!


Титла: C++
Публикувано от: ZERG в Sep 22, 2006, 08:34
Извинявам се получи се някаква грешка тази тема не беше за тук още веднъж извинете!


Титла: C++
Публикувано от: danchev в Sep 22, 2006, 08:53
Ами има много библиотеки за C++ ... за графични виж Qt, документацията е убийствено изчерпателна. Освен това си изтегли STL докс, и виж boost.org.

Най-добрата свободна книга за C++ за мен е:

http://www.icce.rug.nl/documents/
(автора преподава по нея в Университета Грьонинген, Холандия)

Същия автор е написал и лексикален анализатор за C++ (като bison):
http://bisoncpp.sourceforge.net/

както и някой други яки утилки.

(бтв, всичките са пакетирани за Дебиан, той е ко-мейнтаинер ;-)


Титла: C++
Публикувано от: Lord Bad в Sep 22, 2006, 10:02
Коя е книгата? Да не е някоя за Уиндоус програмиране:) Ако искаш да пишеш графични приложения за Линукс на С++ вероятно трябва да се запознаеш с библиотеката Qt, на чиято база е изградено КДЕ...


Титла: C++
Публикувано от: ZERG в Sep 23, 2006, 08:34
Книгата е на Кай Хортсман и се казва "Принципи на програмирането с С++".

Вчера се поразрових малко и намерих тези библиотеки дето са правени специално за книгата.Обаче Уви .След като ги свалих и ги поместих в /usr/include/c++ и след това компилатора ги намира но дава доста грешки свързани с тях.
Библиотеките ги свалих от ТУК

А от каде да погледна QT? ???





Титла: C++
Публикувано от: growchie в Sep 23, 2006, 10:34
http://doc.trolltech.com/ Имай в предвид, че повечето линукс дистрибуции идват с qt 3.xx, не с 4. От друга страна qt4 е под GPL и за windows.
Бих ти препоръчал http://www.wxwidgets.org/
и дори http://www.gtk.org/.
Проучи внимателно за кой компилатор е книгата и за коя платформа.
Бих ти препоръчал да прочетеш и http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
преди да се спреш на някоя графична библиотека.
Не знам до колко си наястно, но графичните библиотеки обикновенно нямат нищо общо със самия език и се доставят допълнително (по придирчивите да не ме обвинят, че не се изразявам точно, но в общи линии така стоят нещата). Така се получава, че може да пишеш на C++ за QT, GTK, wxWidgets, MFC и за куп други. Не е като да речем Delphi и VCL или Java и AWT/SWING или C# Window.Forms(.NET)
За да ти стане още по объркано, ще ти кажа че има десетки ако и не стотици графични библиотеки и фреймуоркове за C++.


Титла: C++
Публикувано от: gat3way в Sep 23, 2006, 12:19
Инсталирай си kdevelop...никога не съм се занимавал особено с qt, но имам хубави спомени...свестно IDE, доста документация, някакъв form editor, наподобяващ това в visual c, autoconf/automake подръжка без да се налага да правиш почти нищо и т.н...


Титла: C++
Публикувано от: ZERG в Sep 24, 2006, 08:56
Определено се оказа че книгата писана за Уиндолс :).
Мерси за съветите ще погледна !!!


Титла: C++
Публикувано от: ZERG в Oct 05, 2006, 21:11
Намерих едни библиотеки с който мога да използвам графика само че парво трябва да се компилират.Ето тук е дадено как да се компилират само че при мене не стана и дава грешки.

   Ако може някои друг да погледне и да го изпробва и да каже какво е станало.


Титла: C++
Публикувано от: mironcho в Oct 05, 2006, 22:24
Би трябвало да имаш готов/и wxwidgets пакет/пакети за твоята дистрибуция... с каква дистрибуция си?


Титла: C++
Публикувано от: mihailmilev в Oct 06, 2006, 08:23
Сега, при С++ има една специфичност когато слагаш външни библиотеки. Какво имам предвид: ти теглиш сорса, компилираш го и ако всичко мине добре ще имаш икомпилирани бинарни файли. Тях трябва да ги добавиш като на g++ подадеш с опция --include (мисля че така беше но провери пак). Тоест освен сорса, който include-ваш трябва и  бинарния файл да подадеш. Това всичкото е за да не ти хвърля грешките. Те са всъщност от линкера (обединява всички парчета на програмата в едно).


Титла: C++
Публикувано от: rpetrov в Oct 06, 2006, 12:54
Цитат (ZERG @ Сеп. 23 2006,08:34)
Книгата е на Кай Хортсман и се казва "Принципи на програмирането с С++".

Вчера се поразрових малко и намерих тези библиотеки дето са правени специално за книгата.Обаче Уви .След като ги свалих и ги поместих в /usr/include/c++ и след това компилатора ги намира но дава доста грешки свързани с тях.
Библиотеките ги свалих от ТУК

А от каде да погледна QT? ???

Настъпила е малка каша при теб. Страницата която си дал за съвети при компилиране, аз, я намирам за пределно, ама пределно ясна. Това което си сложил в /usr/include/c++ го разкарай!


От постовете оставам с впечатление, че подсказки за няколко основни опции на компилатора няма да са излишни:

-Ipath_to_include_files : когато в C/C++ има #include ... , то файла се търси и в пътищата зададени с опцията -I. Използва се при компилиране на програмния код.

-D<DEFINE>, където <DEFINE> е в формата NAME{=VALUE} : еквивалентно на препроцесорната C/C++ директива #define NAME {VALUE} ( бел. фигурните скоби само указват незадълнителност и не се употребяват )

-Lpath_to_library_files : Задава допълнителен път за търсене на библиотеки. Използва се при процеса на свързване на обектен код.

-lname : задава името(!;) на библиотека . В списъка от пътища за библиотеки се търси файл с име започващо с lib следвано от name и последвано от суфикс. Суфикса е .a при статично свързване и като гледам така е дадено в съветите за компилиране.

-c : компилирай програмния код и създай обектен код.
-o : име_на_файла_с_резултата


Чудя се и какво ли значат "стандартни библиотеки" :) . Просто незнам какво да очаквам при "нестандартните" .
"стандартната библиотека за графичните приложения" е X11, но това изобщо не ти помага. Има и toolkit библиотеки, като в твоя случай wxWindows.


Грешките при компилиране и/или свързване явно са само за теб и несподелянето им, в съобщенията, много помага за отстраняването им. Айде успех, че едва ли скоро ще вляза в форума пак.


Титла: C++
Публикувано от: vstoykov в Oct 06, 2006, 18:16
Ако искаш да се занимаваш с графичен интерфейс:
C++ GUI Programming with Qt 3
Тегли се от сайта на издателството (PDF):
http://www.phptr.com/booksto....1#info3

Можеш да изтеглиш изходния код на примерите (в приличен формат) от:
http://www.trolltech.com/developer/documentation/books/3

Други книги за QT:
http://www.trolltech.com/developer/documentation/books


Титла: C++
Публикувано от: Lord Bad в Oct 09, 2006, 18:17
А винаги може да разгледаш и нещо за C++ bindings на GTK+ например. Идеи и toolkit-ове има доста. Във всеки случай искам само да ти кажа че според мен книгата на Кай Хорстман, която четеш е доста слаба. Попадна ми преди 4-5 години и никак не бях очарован от нея. Ако сега почваш да се учиш на С++ рискуваш от книги като тая да развиеш вредни навици.


Титла: C++
Публикувано от: danchev в Oct 09, 2006, 18:42
Аз мога само да ви препоръчам книгата на Франк Брокен
"C++ Annotations" -> http://www.icce.rug.nl/documents/cplusplus/

Абсолютно свободна е, различните формати от тук:
ftp://ftp.rug.nl/contrib/frank/documents/annotations/

Автора е доста опитен преподавател в Университета в Грьонинген, Холандия. Между другото всичкия му софтуер, вкл. и тази книга е пакетиран в официалния Дебиан, с негова помощ разбира се ;-)


Титла: C++
Публикувано от: Emooo в Oct 09, 2006, 19:19
"Thinking in C++" най-добрата според мене. Циркулира из интернет във вид на PDF.


Титла: C++
Публикувано от: Lord Bad в Oct 09, 2006, 20:33
Мдам, тя е много добра. Освен това е свободна. Pdf версията не става, но html-ската е доста добра.