LINUX.ORG.RU

Сообщения no_NaMe

 

[Qt4] Как сгруппировать QDockWidgets?

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

Возникла проблема (иначе зачем я пишу =)) - разрабатываю GUI в дизайнере. всё здорово, только понять не могу как сгруппировать dock widgets сразу, чтобы открыл окно и оп- они все в одном месте и табами переключаешься! =)
Может можно как-нибудь через методы, а может прямо в дизайнере?!

Подскажите, пожалуйста!
Всем спасибо!

no_NaMe
()

Правильное использование связки GCC + GDB

Драсте!

Кто-нибудь может мне разъяснить ситуацию:

Компилирование проходит без всяких оптимизаций, но при отладки GDB не переходит на некоторые строки... то есть, не как обычно при оптимизации - пропуск простецких инструкций типа:

int b = 1;

a = b + 2;

а пропуск целых вызовов. Уточню: допустим имеется код:

1 int main () {

2 class_foo t;

3 t.foo ();

4 return 0;

5 }

...

6 void foo () {

7 this->init ();

8 this->read_file ();

9 this->boo ();

10 }

...

Код с foo () {...} содержится в динамической библиотеке (хотя, я думаю, это не важно), а main, естественно в приложении использующем эту либу.

Допустим, я ставлю брекпойнт на строку 7, запускаю gdb, делаю run и жду. На этой строке отладчик останавливается и дальше, когда я делаю next или step и until, отладчик не переходит на 8ю строку, а просто напросто продолжает выполнение программы до конца (то есть, выполняет return 0 в итоге (что, надо сказать жутко раздражает)). Хочу заметить, что методы read_file и boo нетривиальные и не inline, оптимизация не используется.

Итак, вопрос: Что я не так делаю. Может нужно при компиляции с помощью g++ подключать какие-нибудь флаги?

no_NaMe
()

pygtk, gtk

Люди. Есть вопрос.
У меня есть дескриптор окна (в windows). Я использую ogre3d, который возвращает мне некий класс window, из которого я могу достать этот самый handle... Вот проблема заключается в том, что мне как-то нужно связать программу, написанную на pygtk (с помощью boost::python) или Gtk и это самое окно, которое описывает данный мне дескриптор. Вот и возникает проблема, что gtk вроде бы не может привязывать окна по дескриптору. Поправьте меня - если я не прав. Нужно всего лишь засунуть это новое огровское окно в gtk.Notepad... Да, и ещё вроде gtk не может связать два toplevel окна...
Вопрос собственно в чём? - можно ли как-нибудь что-нибудь создать по дескриптору окна..? Или есть другие методы?

>>>

no_NaMe
()

Звук

Проблемы со звуком...
Звук пропал... даже не знаю... я отмонтировал флешку и тут звук пропал. С другими ядрами пробовал - не работает... пробовал без загрузки gnome - не работает, устройство опознаётся... пользуюсь драйвером alsa для карточки ac97. Никто не сталкивался?

>>>

no_NaMe
()

Doxygen

Друзья мои, здравствуйте!

Кто-нибудь составлял документацию используя doxygen?

У меня такая проблема - есть несколько реализаций шаблонного класса, и когда я пишу каммент

/*!
\class foo< T >
\ingroup foos
\brief This is template foo class false
*/
template <class T>
class foo < T, flase > {
blah-blah-blah...
}

/*!
\class foo< T >
\ingroup foos
\brief This is template foo class true
*/
template <class T>
class foo < T, true > {
blah-blah-blah...
}

и в такой ситуации doxygen видимо берёт имя класса как foo без шаблонного параметра и кидает одни и те же ссылки на методы обоих классов, то есть получается

class foo<T>
This is template foo class false

class foo<T>
This is template foo class false

вместо


class foo<T>
This is template foo class false

class foo<T>
This is template foo class true

Кто-нибудь может мне помочь? спасибо.

>>>

no_NaMe
()

Линковка библиотеки

Здравствуйте! Такая проблема, допустим у меня есть какая-то shared-object (SO), в которой есть глобальная процедура

void extern "C" __attribute__ ((visibility("default"))) foo(void) { printf ("I am foo of first SO!\n"); }

SO компилится с -fvisibility=hidden (компилер = g++), то есть в итоге мы будем видеть этот фу...

Вооот,... теперь мы создаём вторую SO, в которую добавляем еналогичную процедуру (более того - одноимённую)

void extern "C" __attribute__ ((visibility("default"))) foo(void) { printf ("I am foo of second SO!\n"); }

И главное - ЛИНКУЕМ ВТОРУЮ БИБЛИОТЕКУ С ПЕРВОЙ!!!

Внимание вопрос: Какие флаги мне нужно передавать в линкуовку либы 2, чтобы в неё добавлялось тело функции именно этой библиотеки (то есть foo 2-ой либы)

А то получается, например:

typedef void (*FOO)();

FOO foo1; FOO foo2;

void *handle1 = dlopen("lib1.so", RTLD_GLOBAL | RTLD_LAZY | RTLD_NODELETE);

void *handle2 = dlopen("lib2.so", RTLD_GLOBAL | RTLD_LAZY | RTLD_NODELETE);

foo1 = (FOO)dlsym(handle1,"foo"); foo2 = (FOO)dlsym(handle2,"foo");

foo1(); foo2();

------------RESULT---------

I am foo of first SO! I am foo of first SO!

вместо

I am foo of first SO! I am foo of second SO!

То есть глобалы не затираются, а берутся из старой либы, которую я прилинковываю к текущей. В Винде всё это разруливается каким-то образом, а вот в линуксе возникают проблемы. Кто нибудь знает какие это заветные флаги позволяющие затирание телами второй либы тел первой?!

Спасибо.

no_NaMe
()

печать

Здрасте. Я столкнулся с проблемой. Когда я отправляю на печать картинку через lpr всё вроде проходит без сучка и задоринки,.. но есть трабла - половина документа печатается на одном листе - половина на другом. Как мне исправить это недоразумение? Маны читал - ничего не нашёл.

А теперь внимание второй вопрос: Почему через wrapper'ы вроде GIMP картинка на принтер идёт по килобайту в минуту??? Можно ли это как-то исправить.

(у меня принтер на usb - hp1200, но это я думаю не особо играет роли, потому что через lpr всё уходит очень быстро)

no_NaMe
()

правильная загрузка linux-kernel

Здравствуйте, у меня возникла проблема (иначе бы я сюда не писал =)).

Я компилирую ядро Linux-2.6.20.11 под Fedora 6. Но во время загрузки этого ядра комп перезагружается. Когда компиляция и загрузка проходила под Red Hat 7.2 (Enigma) Все было в порядке. Я уже дошёл до того, что изменял только тип процессора и убирал поддержку multiprocessor в configure. Но зараза всё равно не хочет загружаться. Что бы это могло быть???

Мой процессор - Intel Pentium III (Coppermine) компилирую на gcc-4.1.1

no_NaMe
()

QT

Люди добрые!!! Не подскажете в чём решение проблемы???

Я ставлю qt-4.2.2 (третий тоже пробовал - та же фигня)... Вобщем, не желает gcc родимый с ним компилировать приложения.

Например, на код следующего вида

#include <qapplication.h>
int main() { return 0; }

выдаёт следующее

|| gcc -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qt422/mkspecs/linux-g++ -I. -I/opt/qt422/include/QtCore -I/opt/qt422/include/QtCore -I/opt/qt422/include/QtGui -I/opt/qt422/include/QtGui -I/opt/qt422/include -I. -I. -I. -o sqtp.o sqtp.c
|| In file included from /opt/qt422/include/QtCore/qobjectdefs.h:27,
|| from /opt/qt422/include/QtCore/qobject.h:29,
|| from /opt/qt422/include/QtCore/qcoreapplication.h:27,
|| from /opt/qt422/include/QtGui/qapplication.h:27,
|| from sqtp.c:1:
/opt/qt422/include/QtCore/qnamespace.h|31| error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘QT_MODULE’
/opt/qt422/include/QtCore/qnamespace.h|1365| error: expected ‘)’ before ‘:’ token
/opt/qt422/include/QtCore/qnamespace.h|1381| error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Q_CORE_EXPORT’

и так далее таких сообщений из-за высокой вложенности очень много...

флаги компиляции я думаю ясны...

Ещё прописывал QTDIR=/opt/qt422...

Вот такие пироги...

no_NaMe
()

флаги линковки/компиляции

Здравствуйте.
Существуют ли флаги компилятора gcc/msvc++, позволяющие собрать бинарник (so/dll/elf/a.out) без тел(дефиниции) некоторых функций / статических объектов?

no_NaMe
()

template

Возвращаясь к теме <a href="http://www.linux.org.ru/profile/no_NaMe/jump-message.jsp?msgid=1993960&la...;, видимо вопрос был неправильно сформулирован. У меня в *.h лежит шаблонная функция. Как мне засунуть в *.cpp явную спецификацию этой функции, так чтобы она была найдена при загрузке so

no_NaMe
()

template<smth...>

Здравствуйте. Такой вопрос. имеется такой код:
---------------------------------------------------------
// bs_pool.h
#ifndef __BS_POOL_H
#define __BS_POOL_H

#include "bs_object_base.h"

namespace blue_sky {

template<class D_TYPE>
class _CLASS_DECLSPEC_PLUGIN_ bs_array_pool : public objbase
{
public: typedef std::list< smart_ptr< bs_array_pool, true > > instp_holder;
protected: static instp_holder inst_list_;

public:
~bs_array_pool() {}
private:
void dispose() const {delete this;};
protected:
bs_array_pool() {}
};

};

#endif // __BS_POOL_H

-----------------------------------------------------------------
//bs_pool.cpp
#include "bs_pool.h"

namespace blue_sky
{
...

template<>
bs_array_pool<int>::instp_holder bs_array_pool<int>::inst_list_;

...
};
-----------------------------------------------------------------

Я его собираю как shared object, с -fPIC, со всем... Но вот загвоздка,
когда вызываю dlopen("./this_one.so",RTLD_LAZY); мне возвращается пустой указатель на NULL...
dlerror() говорит, что:
/home/work/blue-sky/lib/libpool.so: undefined symbol: _ZN8blue_sky13bs_array_poolIiE10inst_list_E

То бишь, не может быть найдена явная спецификация шаблона... (та, что
от int в cpp-файле)...
extern в декларации не помогает, и в дефиниции тоже.

Если убрать дефиницию
template<>
bs_array_pool<int>::instp_holder bs_array_pool<int>::inst_list_;
то библиотека загружается нормально...

Короче мне нужно явно указать пустой шаблон, но это мешает загрузке so
/// Есть выход???

Может кто-нибудь сталкивался уже с такой проблемой...???

no_NaMe
()

shared object + template<...>

Здравствуйте! Есть проблема.
когда я make динамическую библиотеку, которая содержит шаблоны ничего не загружается по dlopen. Далее привожу код и g++... etc.

void * handle = dlopen("./bs_pool.so", RTLD_LAZY);
(здесь возвращается NULL, почему-то????)...

g++ -c -fPIC -g -pipe -O3 -ffast-math -funroll-loops -finline-limit=1000000 -fomit-frame-pointer -W -Wall -Wuninitialized -Wunused -Ikernel/src -I/home/work/loki/include -I/usr/local/include/boost-1_34 -DUNIX -D__EXPORTING_PLUGIN_ -MMD plugins/bs_pool/src/bs_pool.cpp -o plugins/bs_pool/build/bs_pool.o

(без оптимизации тоже не пашет! пробовал.)

g++ -g -shared ./plugins/bs_pool/build/bs_pool.o -ldl -L/home/work/loki/include/../lib -lloki -L/usr/local/include/boost-1_34/lib -lboost_filesystem-gcc41-mt -lboost_thread-gcc41-mt -lm -o ./lib/libpool.so

Спасите, помогите... =/

no_NaMe
()

ppp-соединение

У меня проблема. Я установил ppp-соединение. Однако ни по dns ни по ip ни один сайт грузиться не желает... Кто-нибудь знает почему это может быть. В /etc/hosts я ничего не писал.

no_NaMe
()

kernel-2.6.20-11

После установки этого ядра у меня возникли проблемы. Не загружаются модули, и не могут быть опознаны все любые внешние устройства, кроме тех, что были примонтированиы при загруки системы. Можете посоветовать что-нибудь?
Кроме того, после того, как я перекинул хедеры нового ядра - стали вылезать какие-то странные ошибки компиляции. (ругань на структуры).
// /usr/include/stdlib.h

до этого стояло ядро 2.4.6-20

no_NaMe
()

glibc-2.5 && gcc-4.20

Товарищи линуксоиды, не поможите?... Я собрал новый компилятор gcc-4.20...

<i>вот так я его конфигурировал</i>
../build/configure --prefix=/usr --with-local-prefix=/usr/local --disable-nls --enable-shared
make bootstrap

...и столкнулся вот с такой проблемой.
Когда пытаюсь сконфигурировать glibc-2.5
../glibc-2.5/configure --prefix=/usr --disable-profile --enable-add-ons --enable-kernel=2.6.0 --without-gd --without-selinux

вываливается такое.

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
configure: running configure fragment for add-on nptl
checking sysdep dirs... sysdeps/i386/elf nptl/sysdeps/unix/sysv/linux/i386/i686 nptl/sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux/i386 nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv/i386 nptl/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/i386 nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu nptl/sysdeps/i386/i686 sysdeps/i386/i686 sysdeps/i386/i486 nptl/sysdeps/i386/i486 sysdeps/i386/fpu nptl/sysdeps/i386 sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for ranlib... ranlib
checking whether as is GNU as... yes
checking whether ld is GNU ld... yes
checking for as... as
checking version of as... 2.17, ok
checking for ld... ld
checking version of ld... 2.17, ok
checking for pwd... /bin/pwd
checking for gcc... gcc
checking version of gcc... 4.2.0, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 3.79.1, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... msgfmt
checking version of msgfmt... 0.10.38, ok
checking for makeinfo... makeinfo
checking version of makeinfo... 4.8, ok
checking for sed... sed
checking version of sed... 3.02, ok
checking for autoconf... autoconf
checking whether autoconf works... yes
checking whether ranlib is necessary... no
checking LD_LIBRARY_PATH variable... ok
checking whether GCC supports -static-libgcc... -static-libgcc
checking for bash... /bin/sh
checking for gawk... gawk
checking for perl... /usr/bin/perl
checking for install-info... /sbin/install-info
checking for bison... /usr/bin/bison
checking for signed size_t type... no
checking for libc-friendly stddef.h... yes
checking whether we need to use -P to assemble .S files... no
checking whether .text pseudo-op must be used... yes
checking for assembler global-symbol directive... .globl
checking for .set assembler directive... yes
checking for assembler .type directive prefix... @
checking for .symver assembler directive... yes
checking for ld --version-script... yes
checking for .previous assembler directive... yes
checking for .protected and .hidden assembler directive... yes
<b>checking whether __attribute__((visibility())) is supported... no</b>
<b>checking for broken __attribute__((alias()))... no</b>
checking for .preinit_array/.init_array/.fini_array support... yes
<b>checking for libunwind-support in compiler... no</b>
checking for -z nodelete option... yes
checking for -z nodlopen option... yes
checking for -z initfirst option... yes
checking for -z relro option... yes
checking for -Bgroup option... yes
checking for libgcc_s suffix...
checking for --as-needed option... yes
checking whether --noexecstack is desirable for .S files... yes
checking for -z combreloc... yes
checking for -z execstack... yes
checking for -fpie... no
checking for --hash-style option... no
checking for -fno-toplevel-reorder... yes
checking for -fstack-protector... yes
checking whether cc puts quotes around section names... no
checking for assembler .weak directive... yes
checking whether CFI directives are supported... yes
checking for ld --no-whole-archive... yes
checking for gcc -fexceptions... yes
checking for __builtin_expect... yes
checking for __builtin_memset... no
checking for redirection of built-in functions... yes
checking for __thread... yes
checking for tls_model attribute... yes
checking for libgd... no
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for long double... yes
checking size of long double... 12
running configure fragment for sysdeps/i386/elf
checking for i386 TLS support... yes
running configure fragment for nptl/sysdeps/pthread

в итоге - сообщение
configure: error: working compiler support for visibility attribute is required

Что это за атрибут, и как его включить??? Вероятно это нужно во время компиляции...

no_NaMe
()

glibc compilation error

Hello, World)) When i compile glibc (2.3.5 or 2.5 (therefore i think that this is not glibc bug)) i have a problem. gcc ../nptl/sysdeps/unix/sysv/linux/raise.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/tools/glibc-build/signal -I/tools/glibc-build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -I /lib/modules/2.4.7-10smp/build/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /usr/local/glibc-build/signal/raise.o -MD -MP -MF /usr/local/glibc-build/signal/raise.o.dt -MT /usr/local/glibc-build/signal/raise.o ../nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise': ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: '__NR_gettid' undeclared (first use in this function) ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: (Each undeclared identifier is reported only once ../nptl/sysdeps/unix/sysv/linux/raise.c:42: error: for each function it appears in.) ../nptl/sysdeps/unix/sysv/linux/raise.c:71: error: '__NR_tkill' undeclared (first use in this function)

my system configuration: gcc-3.4.6kernel-2.4.6 - basic system and kernel-2.6.20.11 - headers of LFS-systemtexinfo-4.8a autoconf-2.61 make-3.79.1 binutils-2.17 awk-3.1.0 perl-5.6.0 sed-3.0.2 i configure glibc Makefile with:../glibc-2.5/configure --prefix=/tools --disable-profile --with-binutils=/tools/bin --without-gd --with-kernel-headers=/tools/include --without-selinux --enable-add-ons CC=/tools/bin/gcc CXX=/tools/bin/g++ Thanks, Max.

no_NaMe
()

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