crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Qt vs NetBeans на одном компьютере, Пока наладил работу NetBeans c pthread, отказал Qt.
idovbeta
  опции профиля:
сообщение 30.11.2012, 7:54
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 29.11.2012
Пользователь №: 3614

Спасибо сказали: 0 раз(а)




Репутация:   0  


С год работаю на Qt. Недавно понадобился NetBeans (программы на С для встроенного компа). Там, на NetBeans понадобились потоки pthread для распараллеливания.
Наладил, работает.
С перерывом снова вышел на 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
При этом тот самый первый в цепочке header'ов gthr-default.h на той самой 41й строке содержит вызов файла pthread.h

Как можно решить проблему - кроме как "все снести, отформатировать диск и с liveCD все по новой загрузить"?
Снести один QtCreator и снова его инсталлировать я уже пробовал, не помогает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.11.2012, 11:17
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


очевидно, что для начала надо разобраться, почему не виден cpu_set_t и "остальные идентификаторы"

а что делал, какие действия с файлами, что привело к косякам ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
idovbeta
  опции профиля:
сообщение 30.11.2012, 11:52
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 29.11.2012
Пользователь №: 3614

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 30.11.2012, 12:17) *
очевидно, что для начала надо разобраться, почему не виден cpu_set_t и "остальные идентификаторы"

а что делал, какие действия с файлами, что привело к косякам ?

добавил на NetBeans возможность работать с pthread, для чего добавил файл pthread.h в один из системных директориев и присоединил библиотеку libpthread, он была, я там только ссылку сделал без цифр после so.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 30.11.2012, 21:01
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 21.10.2010
Пользователь №: 2134

Спасибо сказали: 9 раз(а)




Репутация:   1  


Если используешь netbeans с mingw, там есть стандартно posix threads:
ПКМ по проекту -> properties -> Build/Linker и справа пункт Libraries, на кнопку около него, потом Add standart Librariy, Posix Threads.
И не надо ничего самому копировать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 2:06