A compilation problem when using templates


 
Thread Tools Search this Thread
Operating Systems Solaris A compilation problem when using templates
# 1  
Old 06-24-2008
A compilation problem when using templates

Hello life savers,

I'm having trouble compiling a specific program. The program was originally written for gcc and was compiled successfully under it. When trying to compile under Solaris 11, I get this error:

"Hashtable.h", line 170: Error: Could not find a match for hash needed in Hashtable<long long, Orderbook*>::get(long long).
"ReferenceData.cpp", line 59: Where: While instantiating "Hashtable<long long, Orderbook*>::get(long long)".
"ReferenceData.cpp", line 59: Where: Instantiated from non-template code.


line 170 of file "Hashtable.h" is:
int tIndex = (hash(pKey,mSize));

(line 59 of "ReferenceData.cpp" is using it).


The "hash" functions are global, and are defined as followed:

static int hash( int64 pValue, int pMod )
{
int tValue = (int) (pValue & 0x7FFFFFFF);
return (tValue % pMod);
}

static int hash( int pValue, int pMod )
{
return (pValue % pMod);
}

static int hashString( const char *pStr, int pMod )
{
int tLen = (int) strlen( pStr );
unsigned int hash = 0;
unsigned int x = 0;

for(int i = 0; i < tLen; pStr++, i++)
{
hash = (hash << 4) + (*pStr);
if((x = hash & 0xF0000000L) != 0)
{
hash ^= (x >> 24);
}
hash &= ~x;
}

return (int) (hash % pMod);
}

static int hash( const std::string *pStr, int pMod )
{
return hashString( pStr->c_str(), pMod );
}

static int hash( const char *pStr, int pMod )
{
return hashString( pStr, pMod );
}


Please tell me if the pasted code is enough or you need the entire class code for finding what's wrong (didn't want to paste the whole thing. it's long....).


Thanks a lot.
yp515.
# 2  
Old 06-24-2008
i) There is no Solaris 11 (do you mean Sun Studio 11 Compilers?)
ii) assuming you've used gcc on linux-x64 to develop that code: gcc is available for solaris-sparc - get this one and you should be fine
# 3  
Old 06-25-2008
Sun Studio 11

I do mean Sun Studio 11 Compilers.....
Using gcc is not an option. This is a 3rd party code which should be integrated into an existing project which uses Sun Solaris 11.

Why are you suggesting gcc? is there a problem with Sun Studio 11 regarding templates?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Compilation problem with typedef

I am getting confused compiling a program that gives me the following error ../../../tomso/algeb/vector.hpp:19:9: error: ‘Vector' does not name a type typedef Vector<float> Vecflt; (1 Reply)
Discussion started by: kristinu
1 Replies

2. Programming

Compilation problem with gfortran

Hello everyone, I'm trying since a few days to compile a f90 program with gfortran (on Ubuntu) with a makefile. The fortran program calls 2 routines written in C. Here is my makefile: FC = gfortran SFC = gfortran FFLAGS = -ffree-form -O... (21 Replies)
Discussion started by: leroygr
21 Replies

3. AIX

Problem in compilation.

Hi, I am executing the below mentioned code:- proc SQLCHECK=SEMANTICS iname=CDBInteractor.pc parse=none code=cpp cpp_suffix=cpp g++ -c main.cpp g++ -o pre_request_engine main.o -I/oracle/oracle/app/product/10g/precomp -L/oracle/oracle/app/product/10g/lib32 -lnsl -ldl And... (2 Replies)
Discussion started by: tushar_tus
2 Replies

4. Programming

C Compilation problem

Dear all I am new to C programming In response to the post cat get_time.c #include <stdlib.h> #include <sys/time.h> main() { struct timeval tv; struct timezone tz; struct tm *tm; gettimeofday(&tv, &tz); tm=localtime(&tv.tv_sec); printf("... (2 Replies)
Discussion started by: on9west
2 Replies

5. AIX

Compilation problem

hi, I first want to apologize for my poor english ! I'm a newbe on Unix system and I have to install NRPE on an AIX 5.3. I have downloaded the NRPE Source code and i need to compile them... the problem is, when I do a: ./configure --enable-command-args --disable-ssl it returns me :... (1 Reply)
Discussion started by: Cyr1us
1 Replies

6. UNIX for Advanced & Expert Users

Problem on Pro*C compilation on HP-UX

Hi, This is my first post to this forum. I have been facing a strange compilation error message. When I try to make a pro*C file on HP-UX ( uname -a shows HP-UX aopc7449 B.11.11 U 9000/800 2416083493 unlimited-user license), ::: Linking... /usr/ccs/bin/ld: profls.o: Not a valid object file... (5 Replies)
Discussion started by: asutoshch
5 Replies

7. AIX

Pro C Compilation problem

Hi, I have AIX 5.3 and my code is written in proc . i am getting following error during compilation Please help?////..... :-d: Compiling with RMS cc -w -q32 -qidirfirst -ISource/Header -I/usr/vacpp/include -q32 -DRMS -DDISEC -DDBG -DBIGENDIAN -DBIT32 -c -q32... (0 Replies)
Discussion started by: ajaysahoo
0 Replies

8. Programming

Compilation problem on HP-UX

Hi, Environment : HP-UX avalon B.11.11 U 9000/800 3547052374 unlimited-user license aCC version :aCC: HP ANSI C++ B3910B A.03.37 I need to find a way out of this errors.can anyone help me . $ aCC db.cc -I$ORACLE_HOME/rdbms/public -I/disk1/oracle/product/10.2.0.2/* Error (future)... (1 Reply)
Discussion started by: varuntayur
1 Replies

9. Programming

compilation problem

i have a class name 1.c in tht i am using function n wich has his body in 2.c and declaration in 2.h now how can i compile 1.c. ex; 1.c int main() { //some data n(10); //somedata } ***** 2.c int n(int k) { //some data } int main() { some data (2 Replies)
Discussion started by: phani_sree
2 Replies

10. Solaris

compilation problem

I am compiling a software named wine When i run make then at the end following error generated. DVAPI32_ -foversion.res version.rc ld.so.1: ../../tools/wrc/wrc: fatal: relocation error: file ../../tools/wrc/wrc: symbol wine_casemap_upper: referenced symbol not found *** Signal 9 make:... (0 Replies)
Discussion started by: mansoorulhaq
0 Replies
Login or Register to Ask a Question