Форум программистов, компьютерный форум CyberForum.ru

IDE в Linux - C++

Восстановить пароль Регистрация
 
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
18.04.2014, 14:15     IDE в Linux #1
Проект компилирую в командной строке на минте
g++ -o main main.cpp -lpthread -std=c++11

все проходит без ошибок

чтобы отладить работу проекта, создал в нетбинсе чистый проект и закинул свои исходники
При компиляции пишет следующее

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/artem/NetBeansProjects/CppApplication_1'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/cppapplication_1
make[2]: Entering directory `/home/artem/NetBeansProjects/CppApplication_1'
mkdir -p dist/Debug/GNU-Linux-x86
g++ -lpthread -std=c++11 -o dist/Debug/GNU-Linux-x86/cppapplication_1 build/Debug/GNU-Linux-x86/main.o
build/Debug/GNU-Linux-x86/main.o: In function `NMClient::ReseiveEvent(int&, std::vector<unsigned char, std::allocator<unsigned char> >)':
/home/artem/NetBeansProjects/CppApplication_1/NMClient.cpp:237: undefined reference to `sem_wait'
/home/artem/NetBeansProjects/CppApplication_1/NMClient.cpp:248: undefined reference to `sem_post'
build/Debug/GNU-Linux-x86/main.o: In function `NMClient::RunClient()':
/home/artem/NetBeansProjects/CppApplication_1/NMClient.cpp:340: undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/cppapplication_1] Error 1
make[2]: Leaving directory `/home/artem/NetBeansProjects/CppApplication_1'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/home/artem/NetBeansProjects/CppApplication_1'
make: *** [.build-impl] Error 2

СОБРАТЬ FAILED (значение выхода 2,, общее время: 162ms)

при чем я и в настройках проекта менял строку компилирования и менял компилятор с c++98 на c++11 и всегда одни и те же ошибки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
18.04.2014, 15:12     IDE в Linux #2
Цитата Сообщение от diplomat1129 Посмотреть сообщение
менял компилятор с c++98 на c++11
От этого мало смысла, потому что ошибки не компилятора, а линкера. Где-то в настройках проекта для линкера в IDE нужно прописать библиотеку pthread.
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
18.04.2014, 15:24  [ТС]     IDE в Linux #3
Уже добавил в во все зависимости, в настройках проекта, библиотеку pthread.h и добавил куда можно было папку /usr/include/ со всеми библиотеками, а в ошибку все равно выдает home/artem/NetBeansProjects/CppApplication_1/NMClient.cpp:340: undefined reference to `pthread_create'
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
18.04.2014, 16:00     IDE в Linux #4
Цитата Сообщение от diplomat1129 Посмотреть сообщение
Уже добавил в во все зависимости, в настройках проекта, библиотеку pthread.h
Я же говорил, что дело не в компиляторе. Все эти действия направлены на удовлетворение зависимостей с т.з. компилятора. А надо добавить библиотеку libpthread.so, чтобы ее увидел линкер. В твоем консольном варианте это было сделано ключом -lpthread.
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
18.04.2014, 16:08  [ТС]     IDE в Linux #5
а где предположительно нужный файл может лежать ?libpthread.so
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
18.04.2014, 16:39     IDE в Linux #6
diplomat1129, нужно его прописать в свойствах.
Дальше там нажимаем add Library и прописываем туда pthread.
Миниатюры
IDE в Linux  
Yandex
Объявления
18.04.2014, 16:39     IDE в Linux
Ответ Создать тему
Опции темы

Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru