Page 1 of 1
[CompArch] JTC library
Posted: Sun Aug 05, 2007 8:51 pm
by Robbe
Heeft iemand die al werkende gekregen op een linux distributie? Zo ja, please share
op de twaalfde lijn van output van configure geeft hij al
Code: Select all
configure: error: can not run ../config/config.sub
waarna hij het opgeeft en dus niet meer verder configureert om jtc te kunnen compilen.
alternatieve methodes om toch nog die oefeningen te kunnen maken zijn ook welkom natuurlijk

Posted: Sun Aug 05, 2007 8:57 pm
by Norfolk
maak die op de fenix? die had er toch een compiled versie voor de fenix bijgestoken
Re: [CompArch] JTC library
Posted: Sun Aug 05, 2007 8:57 pm
by Shinta
Robbe wrote:Heeft iemand die al werkende gekregen op een linux distributie? Zo ja, please share
op de twaalfde lijn van output van configure geeft hij al
Code: Select all
configure: error: can not run ../config/config.sub
waarna hij het opgeeft en dus niet meer verder configureert om jtc te kunnen compilen.
alternatieve methodes om toch nog die oefeningen te kunnen maken zijn ook welkom natuurlijk

Kdenk dage best aan den Dewolfs vraagt vo een sun precompiled versie en dan uw programma op de fenix runne.
Posted: Mon Aug 06, 2007 6:33 pm
by Robbe
precompiled versie voor op fenix is idd beschikbaar. Zal het daar dan maar op doen zeker

Posted: Wed Aug 22, 2007 12:27 am
by Robbe
ik zit met een hele rare compiler error in volgend stukje code:
Code: Select all
#include <iostream>
#include <vector>
#include <JTC/JTC.h>
namespace Wolves
{
using namespace std;
class FeedingPot : public JTCMonitor
{
public:
FeedingPot();
virtual ~FeedingPot();
bool isFull();
void emptyPot();
void fillPot();
private:
bool fFull;
};
//...
compiler-output
Code: Select all
Wolfs.h:20: error: expected class-name before '{' token
Wolfs.h:33: error: expected class-name before '{' token
Wolfs.h:48: error: expected class-name before '{' token
s3oef1.cpp: In function `int main()':
s3oef1.cpp:20: error: `JTCInitialize' was not declared in this scope
s3oef1.cpp:20: error: expected `;' before "init"
s3oef1.cpp:29: error: `JTCThreadHandle' was not declared in this scope
s3oef1.cpp:29: error: template argument 1 is invalid
s3oef1.cpp:29: error: template argument 2 is invalid
s3oef1.cpp:29: error: invalid type in declaration before '(' token
s3oef1.cpp:31: error: invalid types `int[int]' for array subscript
s3oef1.cpp:32: error: invalid types `int[int]' for array subscript
s3oef1.cpp:36: error: invalid types `int[int]' for array subscript
Wolfs.h:20 slaagt op
{ na
class FeedingPot : public JTCMonitor.
s3oef1.cpp:20 slaagt op het veelgebruikte
JTCInitialize init;
iemand een idee waaraan het kan liggen en hoe ik het eventueel kan oplossen? Alvast bedankt

Posted: Wed Aug 22, 2007 4:57 pm
by Yo_rik
Het ziet er uit alsof JTC.h niet gevonden wordt. Controleer eens of de -I compiler flag naar de juiste map wijst (de include-map binnen jthreads).
Posted: Wed Aug 22, 2007 6:41 pm
by Robbe
Yo_rik wrote:Het ziet er uit alsof JTC.h niet gevonden wordt. Controleer eens of de -I compiler flag naar de juiste map wijst (de include-map binnen jthreads).
Dat dacht ik ook dat het was, maar de cpp waar de gegeven code uit komt, compileert probleemloos. Het enige probleem is het linken en er dus een executable van maken...
tenzij die jthreads die je bedoelt niet die voorgecompileerde tarball is die op BB staat?
Posted: Wed Aug 22, 2007 9:27 pm
by Yo_rik
Robbe wrote:tenzij die jthreads die je bedoelt niet die voorgecompileerde tarball is die op BB staat?
Jawel, ik gebruik die ook

.
Toon anders eens welk commando ge gebruikt om te linken. Hier is een vb van tgeen ik gebruik:
Code: Select all
g++ main.o atomicOut.o -o main.exe -L$(JTC_LIB) -lJTC -lpthread -lrt
Posted: Wed Aug 22, 2007 9:58 pm
by Robbe
Yo_rik wrote:Toon anders eens welk commando ge gebruikt om te linken.
ik zal makefile ff posten:
Code: Select all
JTCROOT=/export/home/p05/p051403/threading/JTC-1.0.6
JTCINC=-c -I$(JTCROOT)/include
JTCLIB=-L$(JTCROOT)/lib -lpthread -lJTC -lrt
COMPILE=g++ -o $@ $^ $(JTCINC)
LINK=g++ -o $@ $^ $(JTCLIB)
.PHONY=clean
%.o: %.cpp
g++ -o $*.o $*.cpp $(JTCINC)
%: %.o
g++ -o $* $< $(JTCLIB)
s3oef1: s3oef1.cpp Wolfs.o Semaphore.o
$(LINK)
clean:
@rm *.o
in het kort geeft dit volgende commando's
Code: Select all
g++ -o Wolfs.o Wolfs.cpp -c -I$(JTCROOT)/include
g++ -o Semaphore.o Semaphore.cpp -c -I$(JTCROOT)/include
g++ -o s3oef1 s3oef1.cpp Wolfs.o Semaphore.o -L$(JTCROOT)/lib -lpthread -lJTC -lrt
EDIT1: nu bedenk ik juist dat het wel eens zou kunnen liggen aan het feit dat ik niet eerst s3oef1.cpp gecompileert hebt voordat ik het link
EDIT2: dat was het dus

bedankt voor de moeite Yo_rik. NU is het hopen dat andere mensen ook uit mijn fouten kunnen leren
