Qt vs NetBeans на одном компьютере, Пока наладил работу NetBeans c pthread, отказал Qt. |
Здравствуйте, гость ( Вход | Регистрация )
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 |
очевидно, что для начала надо разобраться, почему не виден 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. И не надо ничего самому копировать. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 2:06 |