Thread: c++, g++, gcc под Linux

c++, g++, gcc под Linux

From
info@midisa.org
Date:
Здравствуйте господа программисты,
Мир всем.

Вопрос людям, кто пишет на c++, g++, gcc под Linux.
Подскажите пожалуйста, какой лучше использовать интерфейс подключения
к PostgreSQL серверу?

Задача:
1. Чтобы приложение могло свободно работать и под Gnom и GTK (в
будущем приложение будет не только консольное) любой современной
сборке Linux. Сейчас хочу написать
только консольное приложение. Чтобы конечный пользователь при запуске
не устанавливал кучу дополнительных библиотек. Чтобы для конечного
пользователя было все максимально комфортно.
2. Желательно чтобы тип подключения можно было использовать для работы
с другими базами данных. (это не обязательный пункт, но в будущем
желателен).

Вроде бы напрашивается UnixODBC, но т.к. у меня нет опыта то прошу
расскажите кто, что использует? Расскажите о своем опыте, может
подводные камни есть.

P.S.
Если в данной конференции обсуждают только синтаксис PostgreSQL то
прошу меня простить, что мой вопрос не в кассу и прошу меня направить
в нужную конференцию.

--
С уважением,
 Info                          mailto:info@midisa.org


Re: [pgsql-ru-general] c++, g++, gcc под Linux

From
Yuriy Rusinov
Date:
Здравствуйте !

>
> Вопрос людям, кто пишет на c++, g++, gcc под Linux.
> Подскажите пожалуйста, какой лучше использовать интерфейс подключения
> к PostgreSQL серверу?

Я использую libpq для подсоединения к БД и QT для графического
интерфейса (gui). Для gui можно использовать также Gtk+.
>
> Задача:
> 1. Чтобы приложение могло свободно работать и под Gnom и GTK (в
> будущем приложение будет не только консольное) любой современной
> сборке Linux. Сейчас хочу написать
> только консольное приложение. Чтобы конечный пользователь при запуске
> не устанавливал кучу дополнительных библиотек. Чтобы для конечного
> пользователя было все максимально комфортно.

Если приложение консольное, то это не важно какая у конечного
пользователя графическая среда.

--
Best regards,
Sincerely yours,
Yuriy Rusinov.

Re: c++, g++, gcc под Linux

From
info@midisa.org
Date:
Здравствуйте,

Спасибо что нашли время написать ответ на мой вопрос.

В течении продолжительного времени (2 месяца) качал кучу примеров
но не один не смог собрать.
То заголовочных файлов не хватает, то половины функций, которые есть в
примерах.

Вы бы не могли мне дать самый простой пример _подключения_ к базе
данных с использованием библиотеки libpq. В остальном (думаю)
разберусь сам. Мне главное понять какие заголовочные файлы нужно
подключать к проекту.

И так же попутный вопрос... Простите если он покажется глупым.
После сборки он прилинкует эту библиотеку "libpq" или мне ее нужно
будет "таскать" с моим проектом? Я начинающий программист системы Linux
по этому пока "плаваю" в некоторых вопросах.
Для сборки проекта я использую NetBeans IDE 6.8 (Ubuntu 10.4).
Если есть другие (более лучшие среды разработки), подскажите
пожалуйста.
Конечная моя цель писать универсальные проекты, которые можно будет
собирать под популярными OS (в основном Linux).
Студию 2008 от Майкрософт прошу не рекомендовать, у меня от нее аллергия
(надеюсь на ваше понимание).

Очень буду благодарен за Вашу помощь.
Всех Вам благ.


Вы писали 1 июня 2010 г., 15:42:17:

> Здравствуйте !

>>
>> Вопрос людям, кто пишет на c++, g++, gcc под Linux.
>> Подскажите пожалуйста, какой лучше использовать интерфейс подключения
>> к PostgreSQL серверу?

> Я использую libpq для подсоединения к БД и QT для графического
> интерфейса (gui). Для gui можно использовать также Gtk+.
>>
>> Задача:
>> 1. Чтобы приложение могло свободно работать и под Gnom и GTK (в
>> будущем приложение будет не только консольное) любой современной
>> сборке Linux. Сейчас хочу написать
>> только консольное приложение. Чтобы конечный пользователь при запуске
>> не устанавливал кучу дополнительных библиотек. Чтобы для конечного
>> пользователя было все максимально комфортно.

> Если приложение консольное, то это не важно какая у конечного
> пользователя графическая среда.




--
С уважением,
 Info                          mailto:info@midisa.org


Re: c++, g++, gcc под Linux

From
eshkinkot@gmail.com (Сергей Бурладян)
Date:
info@midisa.org writes:

> Вы бы не могли мне дать самый простой пример _подключения_ к базе
> данных с использованием библиотеки libpq. В остальном (думаю)
> разберусь сам. Мне главное понять какие заголовочные файлы нужно
> подключать к проекту.

У PostgreSQL очень хорошая документация: http://www.postgresql.org/docs/current/static/
там есть ответ и на этот вопрос, в частности см. пункты:
    30.18. Behavior in Threaded Programs
    30.19. Building libpq Programs
    30.20. Example Programs

Помимо этого у, например, Qt есть своя подсистема работы с базами
данных: http://doc.qt.nokia.com/4.7-snapshot/qsqldatabase.html#details

> После сборки он прилинкует эту библиотеку "libpq" или мне ее нужно
> будет "таскать" с моим проектом?  Я начинающий программист системы
> Linux по этому пока "плаваю" в некоторых вопросах.

Когда Вы будете делать пакет для распространения своей программы, Вы
просто укажете в нём что для работы требуется libpq и пакетный менеджер
(это программа такая) или администратор сам всё сделает что нужно при
установке.

-- 
С уважением, Сергей Бурладян

Re: c++, g++, gcc под Linux

From
Dmitry Kruglov
Date:
Добрый день господа.

Помогите настроить Netbeans для работы с базой данных Postgresql.

Читаю и делаю как написано здесь:
http://www.postgresql.org/docs/current/static/libpq-build.html

Вот мои действия:

Создал обычный проект c++.

Добавил пути Сервис - Настройки - С++ - Помошник по работе с кодом - С++
(а так же Си)
/usr/include/postgresql они у меня здесь лежат. тут же лежит файл libpq-fe.h
Далее захожу в свойство проекта.

В дополнительные параметры компилятора добавляю: `pg_config --includedir`
В дополнительные параметры компоновщика добавляю: `pg_config --libdir`


Пытаюсь создать проект:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libpq-fe.h>

int main(int argc, char**argv)
{

    const char *conninfo;
    PGconn     *conn;
    PGresult   *res;

    int i;
    // Prints arguments
    printf("Arguments:\n");
    for (i = 0; i < argc; i++) {
        printf("%i: %s\n", i, argv[i]);
    }

    return 0;
}

Он мне выдает:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS=
.build-conf
src/args.c:33:22: warning: libpq-fe.h: Нет такого файла или каталога
.... дальше идет куча ошибок. Как написано в ссылке, то компилятор не
видит директорию include.
Не пойму что не так. Ранее писал под винду, мне не приходилось указывать
пораметры компилятора. Там все работало из коробки, даже не задумывался
над этим.

Помогите мне настроить netbeans для работы с Postgres.
Буду вам признателен.
Спасибо.

Re: c++, g++, gcc под Linux

From
Dmitry Kruglov
Date:
всем спасибо вопрос снят. сам разобрался.

06.08.2010 18:32, Dmitry Kruglov пишет:
> Добрый день господа.
>
> Помогите настроить Netbeans для работы с базой данных Postgresql.
>
> Читаю и делаю как написано здесь:
> http://www.postgresql.org/docs/current/static/libpq-build.html
>
> Вот мои действия:
>
> Создал обычный проект c++.
>
> Добавил пути Сервис - Настройки - С++ - Помошник по работе с кодом - С++
> (а так же Си)
> /usr/include/postgresql они у меня здесь лежат. тут же лежит файл libpq-fe.h
> Далее захожу в свойство проекта.
>
> В дополнительные параметры компилятора добавляю: `pg_config --includedir`
> В дополнительные параметры компоновщика добавляю: `pg_config --libdir`
>
>
> Пытаюсь создать проект:
>
> #include <stdio.h>
> #include <string.h>
> #include <stdlib.h>
> #include <libpq-fe.h>
>
> int main(int argc, char**argv)
> {
>
>     const char *conninfo;
>     PGconn     *conn;
>     PGresult   *res;
>
>     int i;
>     // Prints arguments
>     printf("Arguments:\n");
>     for (i = 0; i < argc; i++) {
>         printf("%i: %s\n", i, argv[i]);
>     }
>
>     return 0;
> }
>
> Он мне выдает:
> "/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS=
> .build-conf
> src/args.c:33:22: warning: libpq-fe.h: Нет такого файла или каталога
> .... дальше идет куча ошибок. Как написано в ссылке, то компилятор не
> видит директорию include.
> Не пойму что не так. Ранее писал под винду, мне не приходилось указывать
> пораметры компилятора. Там все работало из коробки, даже не задумывался
> над этим.
>
> Помогите мне настроить netbeans для работы с Postgres.
> Буду вам признателен.
> Спасибо.
>
>