LINUX.ORG.RU

Сообщения fakelessjohny

 

C++ opengl glut xscreensaver

Форум — Development

у меня есть програма написаная на c++ которая использует glut и появилась необходимось в пределах лабораторной сделать так чтоб результат исполнения програми отображался в качестве скриесейвера

Что я уже пробовал: - исполняемий файл копировал в папку usr/lib/xscreensaver - в папке /usr/share/applications/создал planetary.desktop в которий прописал

[Desktop Entry] Name=Planetary Exec=/usr/lib/xscreensaver/graph_lab4 TryExec=/usr/lib/xscreensaver/graph_lab4 Comment=This draws planets StartupNotify=false Terminal=false Type=Application Categories=Screensaver;

после когда я запускал xscreensaver там, в списке скринсейверов не бло етого самого planetary да и вообще ничего в нем не менялось лишь спустя 3-4 перезапуска в ньому вдруг появилось 3 записи graph_lab4 но когда на них нажимать чтоби посмотреть превью в окоше справа, програма запускалась на полний екран , в коде у меня написано glutFullScreen но я не думал что ето затронет Preview когда же я начал тестировать каждий из етих graph_lab4 то оказалось что когда через минуту екран гаснет скринсейвера нету , но когда мотнуть мишкой чтоб из него вийти на секунду становиться видно результат роботи програми

вопрос в том как сделать такое правильно?

 , ,

fakelessjohny
()

C++ opengl glut xscreensaver

Форум — Development

у меня есть програма написаная на c++ которая использует glut и появилась необходимось в пределах лабораторной сделать так чтоб результат исполнения програми отображался в качестве скриесейвера

Что я уже пробовал: - исполняемий файл копировал в папку usr/lib/xscreensaver - в папке /usr/share/applications/создал planetary.desktop в которий прописал

[Desktop Entry] Name=Planetary Exec=/usr/lib/xscreensaver/graph_lab4 TryExec=/usr/lib/xscreensaver/graph_lab4 Comment=This draws planets StartupNotify=false Terminal=false Type=Application Categories=Screensaver;

после когда я запускал xscreensaver там, в списке скринсейверов не бло етого самого planetary да и вообще ничего в нем не менялось лишь спустя 3-4 перезапуска в ньому вдруг появилось 3 записи graph_lab4 но когда на них нажимать чтоби посмотреть превью в окоше справа, програма запускалась на полний екран , в коде у меня написано glutFullScreen но я не думал что ето затронет Preview когда же я начал тестировать каждий из етих graph_lab4 то оказалось что когда через минуту екран гаснет скринсейвера нету , но когда мотнуть мишкой чтоб из него вийти на секунду становиться видно результат роботи програми

вопрос в том как сделать такое правильно?

 , ,

fakelessjohny
()

pthread и проблемы с makefile -ом

Форум — Development

есть проблема, возможно достаточно простая, но так как под линукс я програмирую совсем недавно, никак не могу ее решыть есть makefile который собирает бинарник из 3 файлов myLab.cpp myLinThread.h myLinThread.cpp

в файле myLinThread.cpp есть получение времени работы потока собственно

void *funct (void *args)
{
sParam *params= (sParam *)args;
long double & begin=params->begin;
long double & end=params->end;
myLinThread &currentThread = *(params->s_thread);
long double s,si,y,eps=0.0001;
//вот здесь похоже проблема
clock_gettime(CLOCK_REALTIME, &currentThread.m_startTime);
for(long double x=begin;x<end;x+=step)
{
y=pow((1+x),-1.0);
s=1;
si=x;
while(fabs(y-s)>=eps)
{
	s-=si;
	si=si*x*(-1.0);
}
cout<<"x: "<<x<<" y: "<<y<<" f(x): "<<s<<endl;
}
//и соотвествено вот здесь, без этих двух строк, все работает //хорошо. С ними же вылетает Segmentation fault я пытался как //то проверить значение переменных с помощью gdb
//но как уже говорилось я пока нуб в линуксе, и я получаю //ошыбкуReading symbols from /home/andrew/LABOS8/LABOS8...(no //debugging symbols found)...done.
//изза этого (как мне кажеться) я не могу, получить доступ ни //к одной переменной с помощью print 

clock_gettime(CLOCK_REALTIME, &currentThread.m_endTime);
}

сам мейкфайл

 
TARGET=$(shell basename `pwd`)
SOURCES=$(wildcard *.cpp)
OBJECTS=$(SOURCES:%.cpp=%.o)
all: $(TARGET)

$(OBJECTS): $(SOURCES)

$(TARGET): $(OBJECTS)
	$(CXX) -o $(TARGET) $(LDFLAGS) $(OBJECTS) $(LOADLIBES) $(LDLIBS) -lpthread -lrt -Wall -D_REENTRANT

clean:
	$(RM) $(OBJECTS) $(TARGET)

.PHONY: all clean

 , ,

fakelessjohny
()

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