Автор Тема: C++  (Прочетена 3912 пъти)

ZERG

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

I hate control I use Linux
Slackware INC
Човек се учи докато е жив
Дай ми здрав ритъм,торба с трева и около мен да се върти най-красивата жена
I love Marie Marie Fredriksson !

ZERG

  • Напреднали
  • *****
  • Публикации: 104
    • Профил
C++
« Отговор #1 -: Sep 22, 2006, 08:34 »
Извинявам се получи се някаква грешка тази тема не беше за тук още веднъж извинете!
Активен

I hate control I use Linux
Slackware INC
Човек се учи докато е жив
Дай ми здрав ритъм,торба с трева и около мен да се върти най-красивата жена
I love Marie Marie Fredriksson !

danchev

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
C++
« Отговор #2 -: Sep 22, 2006, 08:53 »
Ами има много библиотеки за C++ ... за графични виж Qt, документацията е убийствено изчерпателна. Освен това си изтегли STL докс, и виж boost.org.

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

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

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

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

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

Lord Bad

  • Напреднали
  • *****
  • Публикации: 1667
  • Distribution: Fedora 13
  • Window Manager: GNOME
  • Jedi Knight
    • Профил
C++
« Отговор #3 -: Sep 22, 2006, 10:02 »
Коя е книгата? Да не е някоя за Уиндоус програмиране'<img'> Ако искаш да пишеш графични приложения за Линукс на С++ вероятно трябва да се запознаеш с библиотеката Qt, на чиято база е изградено КДЕ...
Активен

Fuelled by Fedora 13 "Goddard"
====================================
Rock it!

ZERG

  • Напреднали
  • *****
  • Публикации: 104
    • Профил
C++
« Отговор #4 -: Sep 23, 2006, 08:34 »
Книгата е на Кай Хортсман и се казва "Принципи на програмирането с С++".

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

А от каде да погледна QT? '<img'>



Активен

I hate control I use Linux
Slackware INC
Човек се учи докато е жив
Дай ми здрав ритъм,торба с трева и около мен да се върти най-красивата жена
I love Marie Marie Fredriksson !

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
C++
« Отговор #5 -: 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++.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
C++
« Отговор #6 -: Sep 23, 2006, 12:19 »
Инсталирай си kdevelop...никога не съм се занимавал особено с qt, но имам хубави спомени...свестно IDE, доста документация, някакъв form editor, наподобяващ това в visual c, autoconf/automake подръжка без да се налага да правиш почти нищо и т.н...
Активен

"Knowledge is power" - France is Bacon

ZERG

  • Напреднали
  • *****
  • Публикации: 104
    • Профил
C++
« Отговор #7 -: Sep 24, 2006, 08:56 »
Определено се оказа че книгата писана за Уиндолс '<img'>.
Мерси за съветите ще погледна !!!
Активен

I hate control I use Linux
Slackware INC
Човек се учи докато е жив
Дай ми здрав ритъм,торба с трева и около мен да се върти най-красивата жена
I love Marie Marie Fredriksson !

ZERG

  • Напреднали
  • *****
  • Публикации: 104
    • Профил
C++
« Отговор #8 -: Oct 05, 2006, 21:11 »
Намерих едни библиотеки с който мога да използвам графика само че парво трябва да се компилират.Ето тук е дадено как да се компилират само че при мене не стана и дава грешки.

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

I hate control I use Linux
Slackware INC
Човек се учи докато е жив
Дай ми здрав ритъм,торба с трева и около мен да се върти най-красивата жена
I love Marie Marie Fredriksson !

mironcho

  • Напреднали
  • *****
  • Публикации: 495
    • Профил
C++
« Отговор #9 -: Oct 05, 2006, 22:24 »
Би трябвало да имаш готов/и wxwidgets пакет/пакети за твоята дистрибуция... с каква дистрибуция си?
Активен

mihailmilev

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

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
C++
« Отговор #11 -: Oct 06, 2006, 12:54 »
Цитат (ZERG @ Сеп. 23 2006,08:34)
Книгата е на Кай Хортсман и се казва "Принципи на програмирането с С++".

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

А от каде да погледна QT? '<img'>

Настъпила е малка каша при теб. Страницата която си дал за съвети при компилиране, аз, я намирам за пределно, ама пределно ясна. Това което си сложил в /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 : задава името(!'<img'> на библиотека . В списъка от пътища за библиотеки се търси файл с име започващо с lib следвано от name и последвано от суфикс. Суфикса е .a при статично свързване и като гледам така е дадено в съветите за компилиране.

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


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


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

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
C++
« Отговор #12 -: 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
Активен

Lord Bad

  • Напреднали
  • *****
  • Публикации: 1667
  • Distribution: Fedora 13
  • Window Manager: GNOME
  • Jedi Knight
    • Профил
C++
« Отговор #13 -: Oct 09, 2006, 18:17 »
А винаги може да разгледаш и нещо за C++ bindings на GTK+ например. Идеи и toolkit-ове има доста. Във всеки случай искам само да ти кажа че според мен книгата на Кай Хорстман, която четеш е доста слаба. Попадна ми преди 4-5 години и никак не бях очарован от нея. Ако сега почваш да се учиш на С++ рискуваш от книги като тая да развиеш вредни навици.
Активен

Fuelled by Fedora 13 "Goddard"
====================================
Rock it!

danchev

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
C++
« Отговор #14 -: Oct 09, 2006, 18:42 »
Аз мога само да ви препоръчам книгата на Франк Брокен
"C++ Annotations" -> http://www.icce.rug.nl/documents/cplusplus/

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

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