LINUX.ORG.RU

Сообщения SaBo

 

[autotools] AC_DEFINE и комментарий

Форум — General

В configure.in пишу:

AC_DEFINE([DEFINE_TEST], [], [Test...])

aclocal

autoheader

autoconf

automake

./configure


В config.h появляется:

/* Test... */
/* #undef DEFINE_TEST */

1) Почему оно закомментировано?
2) Почему undef, а не define?

P.S. И попрошу без autotools VS cmake

 

SaBo
()

Не загружается php.ini

Форум — Admin

Компилирую php с параметрами: --with-config-file-scan-dir=/usr/local/etc/ --with-config-file-path=/usr/local/etc/php.ini

При этом:

php --ini

Configuration File (php.ini) Path: /usr/local/etc/php.ini
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

php --ini -c /usr/local/etc/

Configuration File (php.ini) Path: /usr/local/etc/php.ini
Loaded Configuration File: /usr/local/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

php --ini -c /usr/local/etc/php.ini

Configuration File (php.ini) Path: /usr/local/etc/php.ini
Loaded Configuration File: /usr/local/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

Собственно, вопрос: почему php.ini не подгружается изначально?

P.S. Если в httpd.conf прописать PHPIniDir «/usr/local/etc», то с апачем тоже всё работает.

SaBo
()

[nginx] XSLT + PHP

Форум — Admin

Хочу попробовать наложить XSLT на XML-ответ, сгенерированный с помощью PHP.

Если создать просто XML-файл и наложить на него XSLT, то всё работает. Конфиг:

location / {
root /home/www/test/xml;
index index.xml;
xslt_stylesheet /home/www/test/xslt/default/main.xslt;
}

Если попробовать получить ответ от PHP, то тоже всё работает. Конфиг:

location ~ \.php$ {
root /home/www/test/php;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/test/php$fastcgi_script_name;
include fastcgi_params;
}

А вот наложить XSLT на PHP не получается - выдаёт сгенерированный XML.
Поделитесь, плиз, рабочим конфигом :)

 

SaBo
()

[СУБД][Postgres] Хорошо ли использовать массив?

Форум — Development

Есть три таблицы: пользователи, агентства, офисы.
Каждый пользователь может принадлежать одному агентству и нескольким офисам этого агентства.

Вопрос: как сохранить эти связи в БД? Отдельными таблицами типа Users2OfficesMatrix или использовать тип integer[]?

 

SaBo
()

Project management

Форум — Desktop

Очень нужна система управления проектами.
Из требований:
а) Одновременная работа нескольких пользователей (т.е. либо web-based application либо с серверной частью);
б) Построение диаграммы Ганта;
в) Разграничение прав доступа;
г) Freeware.

Из пожеланий:
а) баг-треккер, который можно выставить «наружу»;
б) привязка к Mercurial.

Redmine просьба не предлагать, так как именно ему ищется замена.

Понравился FengOffice (в плане интерфейса), но там трудности с диаграммой Ганта. Пробуем Trac, но он не сильно понравился.

SaBo
()

[libevent] Как пользоваться bufferevent_setwatermark?

Форум — Development

Задача: ограничить для сокета максимальный размер входящего сообщения.

Если я правильно понимаю, для этого можно использовать bufferevent_setwatermark. Только я не совсем понимаю, зачем тут нужен минимальный размер сообщения?

 

SaBo
()

[c++] syslog и syslog-ng

Форум — Development

Правильно ли я понимаю, что syslog и syslog-ng полностью взаимозаменяемы?

То есть если я буду использовать в своей программе на C++ API от syslog, то для перехода к syslog-ng нужно будет лишь поставить его в систему и запустить вместо syslog?

 

SaBo
()

[slackware] При старте с KDM, KDE теряет звук

Форум — Desktop

Проблема следующая: если сначала зайти в консоль, залогиниться и выполнить стартикс, то звук прекрасно работает, но если логиниться через KDM, то при загрузке KDE выводится сообщение, что-то вроде «Звуковой адаптер Intel не поддерживается».

Посмотрел логи KDM - не может найти модуль FBdev, но, я так понимаю, он здесь не при делах.

 

SaBo
()

[c++] обёртки для работы с разделяемой памятью (shared memory)

Форум — Development

Посоветуйте, пожалуйста, обёртку для работы с разделяемой памятью на c++.

 

SaBo
()

[qt][оффтоп] Как определить домашнюю директорию?

Форум — Development

Хотелось бы уточнить два вопроса:

1) Как определить домашнюю директорию пользователя? В линуксе всё просто - '~', но как определить домашнюю директорию в винде? (ещё лучше - как определить домашнюю директорию в зависимости от ОС? М.б. есть стандартная фи-я?)

2) Куда лучше в винде сохранить базу данных? В all users (или что-то такое там есть)? Опять-таки как определить путь по умолчанию?

 

SaBo
()

[OOo] Как создать дерево?

Форум — Desktop

Можно ли в OpenOffice Writer'е создать структуру данных в виде дерева? Если да, то как?

SaBo
()

[c++][qt] Как уйти от if else?

Форум — Development

Есть такой быдлокод (моего авторства :) ):

if(e.attribute(«get») == «statement_serial») {
drawElement(e, getStatement()->getStatementSerial(), fontFamily, fontSize);
} else if(e.attribute(«get») == «statement_number») {
drawElement(e, getStatement()->getStatementNumber(), fontFamily, fontSize);
} else if(e.attribute(«get») == «notification_serial») {
drawElement(e, getStatement()->getNotificationSerial(), fontFamily, fontSize);
} else if(e.attribute(«get») == «notification_number») {
drawElement(e, getStatement()->getNotificationNumber(), fontFamily, fontSize);
} else if(e.attribute(«get») == «assured_fio») {
drawElement(e, getStatement()->getAssuredFio(), fontFamily, fontSize);
} else if(e.attribute(«get») == «assured_address_index») {
drawElement(e, getStatement()->getAssuredAddressIndex(), fontFamily, fontSize);
} else if(e.attribute(«get») == «assured_address») {
drawElement(e, getStatement()->getAssuredAddress(), fontFamily, fontSize);
} else if(e.attribute(«get») == «assured_phone») {
drawElement(e, getStatement()->getAssuredPhone(), fontFamily, fontSize);
} else if(e.attribute(«get») == «apartment_address_index») {
drawElement(e, getStatement()->getApartmentAddressIndex(), fontFamily, fontSize);
} else if(e.attribute(«get») == «apartment_address»){
drawElement(e, getStatement()->getApartmentAddress(), fontFamily, fontSize);
}

Поясню в чём суть: есть XML'ный тег, который говорит, мол, нарисуй такой-то элемент, информацию возьми из параметра «get». Далее проходим ифами и, если название совпало, получаем информацию из соответствующего метода класса Statement.

Собственно вопрос: можно ли как-то уйти от if else и написать что-то более изящное?

 ,

SaBo
()

[qt] Кто фильтрует - модель или представление?

Форум — Development

Уже несколько часов сижу и не понимаю, как сделать фильтр в QSqlQueryModel? Понятно, что можно юзать проксимодель, но тогда в QSqlQueryModel будет содержаться вся выборка из базы данных, а это ИМХО может плохо сказаться на производительности. С другой стороны я не нашёл как связать сортировку в QTreeView и в модели.

В общем вопрос такой: за фильтрацию и сортировку отвечает модель или представление?

P.S. Сколько примеров смотрел - там везде написано, мол, в source-модели содержаться все данные, а в proxy-модели только те, что относятся к конкретному представлению.

 

SaBo
()

[sqlite] Производительность

Форум — Development

Если я буду использовать SQLite в программе, которая создаёт ~10000 строчек в год, то через сколько лет SQLite загнётся?

К БД будут использоваться простые запросы, вроде: INSERT OR REPLACE, SELECT ... ORDER BY ... LIMIT 0, 100

 

SaBo
()

[qt] не видет sql драйвера под виндой

Форум — Development

Кросскомпилирую свою программу под винду на Линуксе (с помощью mingw32).

Если запускаю под вайном на линуксе, то QSqlDatabase::drivers() выдаёт следующие драйвера:
QSQLITE QODBC3 QODBC
Если запускаю под виндой, то не выдаёт никаких драйверов. QtSql4.dll скопировал в директорию с прогграммой. Пробовал копировать ~/.wine/drive_c/Qt/2010.04/qt/plugins в директорию с программой, но результата не дало.

Пробовал Process Explorer'ом посмотреть подгружаемые dll'ки - под виндой грузит все те же самые (в т.ч. и QtSql4.dll) дллки, что и под вайном (кроме вайндрайверс).

Чего ещё попробовать сделать?

 

SaBo
()

[qt] Приложение завершается после печати

Форум — Development

Добавляю в своё приложение возможность печати. За основу взял QT Order Form: http://doc.trolltech.com/4.6/richtext-orderform.html

Получилось вот что:

#ifndef QT_NO_PRINTER
QTextEdit *editor = new QTextEdit(QString(«dfdfdf»));
QPrinter printer;

QPrintDialog *dialog = new QPrintDialog(&printer);
dialog->setWindowTitle(tr(«Print Document»));
dialog->exec();
editor->print(&printer);
#endif

На виртуальном PDF-принтере нормально печатает, но как только нажмёшь «печать» или «отмена», приложение вылетает. Такая хрень наблюдается и под Linux Slackware 13.1 (KDE) и под Windows XP sp3 (тоже печатал на виртуальном принтере).

Скомпилил пример (Order Form) - всё нормально, без вылетов.

 

SaBo
()

[Qt] Проблема с ресурсами в Windows

Форум — Development

Ставлю бэкграунд для QMdiArea:

mdiArea = new QMdiArea;
mdiArea->setBackground(QBrush(QImage(":images/background.jpg")));

В директории с проектом есть файл application.qrc, в сам проект добавляю следующее:

RESOURCES += ../sources/application.qrc

Файл application.qrc:

<!DOCTYPE RCC><RCC version=«1.0»>
<qresource>
<file>images/background.jpg</file>
</qresource>
</RCC>

Под линуксом всё работает, а в винде не картинка, а просто серый фон. Кто-нибудь сталкивался с таким?

 

SaBo
()

libpng и Qt

Форум — Development

В своей программе использую стандартное диалоговое окно QMessageBox::critical. Собираю на одной машине (Slackware 13.0, GNOME 2.26.3) - всё прекрасно работает. Собираю на другой (Slackware 13.1. GNOME 2.30.2) - выдаёт ошибку в консоль:

(<unknown>:19618): Gtk-WARNING **: Error loading theme icon 'gtk-dialog-error' for stock: Произошла фатальная ошибка при чтении файла изображения формата PNG: Incompatible libpng version in application and library

Описание ошибки понятно - не сходятся libpng библиотеки, но вот как пофиксить это - не понимаю.

SaBo
()

PGSQL Select or Insert function

Форум — Development

Необходимо написать функцию, которая бы выдавала ИД записи, если такова существует или бы создавала новую запись и опять же возвращала бы ИД.

Попробовал такой вариант:

CREATE OR REPLACE FUNCTION getMarkId(character varying)
RETURNS integer AS
$BODY$
DECLARE
BEGIN
   IF(SELECT id FROM «Marks» WHERE «name» = $1) THEN
   RETURN id FROM «Marks» WHERE «name» = $1;   
   ELSE
   INSERT INTO «Marks» («name») VALUES ($1) RETURNING id;
   RETURN getMarkId($1);
   END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;

Проблема №1:
Тут селект используется два раза + рекурсия, что, наверно, повлияет на производительность, да и выглядит довольно криво.

Проблема №2:
Если запись существует, то всё ок, а если нужно создать новую, то выдаёт такую ошибку:

ERROR: duplicate key value violates unique constraint «Marks_pkey»
CONTEXT: SQL statement «INSERT INTO „Marks“ („name“) VALUES ( $1 )»
PL/pgSQL function «getmarkid» line 6 at SQL statement

Поскольку сам с функциями в постгресе ещё не до конца разобрался, прошу коллективной помощи :)

SaBo
()

Qt не хочет собирать драйвер для PSQL

Форум — General

Делаю всё по инструкции
http://doc.qt.nokia.com/4.6/sql-driver.html#qpsql-for-postgresql-version-7-3-...

cd src/plugins/sqldrivers/psql

qmake «INCLUDEPATH+=/opt/PostgreSQL/8.4/include» «LIBS+=-L/opt/PostgreSQL/8.4/lib -lpq» psql.pro

make


Результат:

g++ -c -pipe -O2 -march=i486 -mtune=i686 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtSql -I/usr/lib/qt/include -I/opt/PostgreSQL/8.4/include -I. -I. -o qsql_psql.o ../../../sql/drivers/psql/qsql_psql.cpp
../../../sql/drivers/psql/qsql_psql.cpp: In member function ‘virtual QVariant QPSQLResult::data(int)’:
../../../sql/drivers/psql/qsql_psql.cpp:344: ошибка: нет декларации ‘numericalPrecisionPolicy’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp: In member function ‘virtual QSqlIndex QPSQLDriver::primaryIndex(const QString&) const’:
../../../sql/drivers/psql/qsql_psql.cpp:929: ошибка: нет декларации ‘isIdentifierEscaped’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:930: ошибка: нет декларации ‘stripDelimiters’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:934: ошибка: нет декларации ‘isIdentifierEscaped’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:935: ошибка: нет декларации ‘stripDelimiters’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp: In member function ‘virtual QSqlRecord QPSQLDriver::record(const QString&) const’:
../../../sql/drivers/psql/qsql_psql.cpp:1002: ошибка: нет декларации ‘isIdentifierEscaped’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:1003: ошибка: нет декларации ‘stripDelimiters’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:1007: ошибка: нет декларации ‘isIdentifierEscaped’ в этой области видимости
../../../sql/drivers/psql/qsql_psql.cpp:1008: ошибка: нет декларации ‘stripDelimiters’ в этой области видимости
make: *** [qsql_psql.o] Ошибка 1

SaBo
()

RSS подписка на новые темы