Russian Qt Forum
Ноябрь 27, 2024, 13:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Когда достиг возможности работать NetBeans с pthread, перестал работать Qt  (Прочитано 3022 раз)
idov
Гость
« : Ноябрь 30, 2012, 11:48 »

Около года как перешел на Qt.
Недавно надо было написать программку на С с потоками. Взял NetBeans, отдельно пришлось добавлять pthread.h
заработало. Спустя время вновь полез на Qt. А он перестал компилировать, выдавая в самом начале

g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I../proba1 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I../proba1 -I. -o main.o ../proba1/main.cpp
In file included from /usr/include/c++/4.6/i686-linux-gnu/./bits/gthr-default.h:41:0,
                 from /usr/include/c++/4.6/i686-linux-gnu/./bits/gthr.h:170,
                 from /usr/include/c++/4.6/ext/atomicity.h:34,
                 from /usr/include/c++/4.6/bits/basic_string.h:41,
                 from /usr/include/c++/4.6/string:54,
                 from /usr/include/qt4/QtCore/qstring.h:54,
                 from /usr/include/qt4/QtCore/qobject.h:48,
                 from /usr/include/qt4/QtCore/qcoreapplication.h:45,
                 from /usr/include/qt4/QtGui/qapplication.h:45,
                 from /usr/include/qt4/QtGui/QApplication:1,
                 from ../proba1/main.cpp:1:
/usr/include/pthread.h:390:14: error: 'cpu_set_t' does not name a type
/usr/include/pthread.h:397:6: error: 'cpu_set_t' has not been declared
/usr/include/pthread.h:459:16: error: 'cpu_set_t' does not name a type
/usr/include/pthread.h:464:8: error: 'cpu_set_t' has not been declared
In file included from /usr/include/c++/4.6/i686-linux-gnu/./bits/gthr.h:170:0,
                 from /usr/include/c++/4.6/ext/atomicity.h:34,
                 from /usr/include/c++/4.6/bits/basic_string.h:41,
                 from /usr/include/c++/4.6/string:54,
                 from /usr/include/qt4/QtCore/qstring.h:54,
                 from /usr/include/qt4/QtCore/qobject.h:48,
                 from /usr/include/qt4/QtCore/qcoreapplication.h:45,
                 from /usr/include/qt4/QtGui/qapplication.h:45,
                 from /usr/include/qt4/QtGui/QApplication:1,
                 from ../proba1/main.cpp:1:
/usr/include/c++/4.6/i686-linux-gnu/./bits/gthr-default.h:130:1: error: 'sched_yield' was not declared in this scope
/usr/include/c++/4.6/i686-linux-gnu/./bits/gthr-default.h:130:1: error: invalid type in declaration before ';' token
/usr/include/c++/4.6/i686-linux-gnu/./bits/gthr-default.h: In function 'int __gthread_yield()':
/usr/include/c++/4.6/i686-linux-gnu/./bits/gthr-default.h:693:33: error: '__gthrw_sched_yield' cannot be used as a function
make: *** [main.o] Error 1

При этом "самый первый" файл-хэдер в той самой строке ссылается на pthread.h
Можно ли как-то малой кровью решить? (не хочется снова грузиться с liveCD)
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Ноябрь 30, 2012, 16:33 »

хм, я так понял Вы пытаетесь собрать Сишную прогу с потоками в Qt?
А платформы совпадают? ну в смысле судя по всему исходники под unix/linux?
Тут тулчше смотреть в сторону QThread, если хотите сделать переносимым...
Записан
idov
Гость
« Ответ #2 : Декабрь 01, 2012, 08:44 »

хм, я так понял Вы пытаетесь собрать Сишную прогу с потоками в Qt?
А платформы совпадают? ну в смысле судя по всему исходники под unix/linux?
Тут тулчше смотреть в сторону QThread, если хотите сделать переносимым...
Не совсем так. У меня на одной машине и Qt и NetBeans. Программа на С++ сделанная в Qt должна впоследствии делать красивую картинку на одном компе(embedded), а вторая, сделанная на С в NetBeans (тоже embedded) должна работать с аппаратурой и по ethrnet'у посылать той, первой, данные, чтобы она их красиво показывала на экранчике. Причем автономными потоками щупать аппаратуру должна именно вторая, на С.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.139 секунд. Запросов: 23.