image
image

Go Back   macosx.com > Mac Help Forums > Unix & X11

Reply
 
LinkBack Thread Tools
  #1  
Old April 11th, 2007, 12:57 AM
Registered User
 
Join Date: Mar 2007
Posts: 15
Thanks: 0
Thanked 0 Times in 0 Posts
owning is on a distinguished road
gcc, g++, -lstdc++ what to use ?

hello all,
I have a make file which looks like :

CC=/usr/bin/g++
CPPFLAGS=-c -g -I/usr/local/Coral/include -I.
LDFLAGS=-L/usr/local/Coral/lib -lcoral -lpcap -lhashtab -lz
OBJECTS=coral_test.o \
recycle.o \
lookupa.o \
hashtab.o
TARGET=coral

$(TARGET): $(OBJECTS)
$(CC) -g -o $(TARGET) $(OBJECTS) $(LDFLAGS)

coral_test.o: coral_test.c Makefile
$(CC) $(CPPFLAGS) coral_test.c

clean:
rm -rf $(OBJECTS) $(TARGET)

It includes complilation for hash functions and a custom software files.

But when i try to make it give me error as :
/usr/bin/g++ -c -g -I/usr/local/Coral/include -I. coral_test.c
coral_test.c: In function 'void removeall(htab*)':
hashtab.h:162: error: too many arguments to function 'word hfirst()'
coral_test.c:67: error: at this point in file
coral_test.c:68: error: ISO C++ forbids comparison between pointer and integer
hashtab.h:152: error: too many arguments to function 'word hdel()'
coral_test.c:69: error: at this point in file
hashtab.h:192: error: too many arguments to function 'word hnbucket()'
coral_test.c:70: error: at this point in file
coral_test.c: In function 'int getStatusValue(ub1*, ub1*, htab*, int)':
coral_test.c:76: error: invalid conversion from 'ub1*' to 'const char*'
coral_test.c:76: error: initializing argument 1 of 'size_t strlen(const char*)'
hashtab.h:120: error: too many arguments to function 'word hfind()'
coral_test.c:84: error: at this point in file
hashtab.h:120: error: too many arguments to function 'word hfind()'
coral_test.c:84: error: at this point in file
hashtab.h:120: error: too many arguments to function 'word hfind()'
coral_test.c:88: error: at this point in file
coral_test.c:89: error: invalid conversion from 'void*' to 'ub1*'
hashtab.h:120: error: too many arguments to function 'word hfind()'
coral_test.c:97: error: at this point in file
coral_test.c:98: error: invalid conversion from 'void*' to 'ub1*'
coral_test.c:99: error: ISO C++ forbids comparison between pointer and integer
coral_test.c: In function 'int insert(htab*, ub1*, ub1*, int, int)':
coral_test.c:114: error: invalid conversion from 'ub1*' to 'const char*'
coral_test.c:114: error: initializing argument 1 of 'size_t strlen(const char*)'
hashtab.h:133: error: too many arguments to function 'word hadd()'
coral_test.c:123: error: at this point in file
hashtab.h:120: error: too many arguments to function 'word hfind()'
coral_test.c:125: error: at this point in file
hashtab.h:152: error: too many arguments to function 'word hdel()'
coral_test.c:126: error: at this point in file
hashtab.h:133: error: too many arguments to function 'word hadd()'
coral_test.c:127: error: at this point in file
coral_test.c: In function 'void process_packet(coral_iface_t*, coral_pkt_result_t*, htab*)':
coral_test.c:164: error: invalid conversion from 'char*' to 'ub1*'
coral_test.c:165: error: invalid conversion from 'char*' to 'ub1*'
coral_test.c:167: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:167: error: initializing argument 1 of 'char* strcpy(char*, const char*)'
coral_test.c:168: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:168: error: initializing argument 1 of 'char* strcat(char*, const char*)'
coral_test.c:169: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:169: error: initializing argument 1 of 'char* strcat(char*, const char*)'
coral_test.c:171: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:171: error: initializing argument 1 of 'char* strcpy(char*, const char*)'
coral_test.c:172: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:172: error: initializing argument 1 of 'char* strcat(char*, const char*)'
coral_test.c:173: error: invalid conversion from 'ub1*' to 'char*'
coral_test.c:173: error: initializing argument 1 of 'char* strcat(char*, const char*)'
coral_test.c:187: error: invalid conversion from 'short unsigned int' to 'ub1*'
coral_test.c:188: error: invalid conversion from 'short unsigned int' to 'ub1*'
coral_test.c: In function 'int main(int, char**)':
hashtab.h:76: error: too many arguments to function 'htab* hcreate()'
coral_test.c:235: error: at this point in file
hashtab.h:76: error: too many arguments to function 'htab* hcreate()'
coral_test.c:236: error: at this point in file
hashtab.h:162: error: too many arguments to function 'word hfirst()'
coral_test.c:322: error: at this point in file
coral_test.c:326: error: invalid conversion from 'void*' to 'ub1*'
coral_test.c:341: error: invalid conversion from 'ub1*' to 'const char*'
coral_test.c:341: error: initializing argument 1 of 'size_t strlen(const char*)'
hashtab.h:133: error: too many arguments to function 'word hadd()'
coral_test.c:347: error: at this point in file
hashtab.h:192: error: too many arguments to function 'word hnbucket()'
coral_test.c:350: error: at this point in file
hashtab.h:162: error: too many arguments to function 'word hfirst()'
coral_test.c:352: error: at this point in file
hashtab.h:192: error: too many arguments to function 'word hnbucket()'
coral_test.c:357: error: at this point in file
make: *** [coral_test.o] Error 1


I have tried changing the compiler to g++ and using the -lstdc++ flag but everytime it gives me an error can someone help me with this.
What should i used here.


Thanks a lot
Reply With Quote
  #2  
Old April 12th, 2007, 03:20 PM
Registered User
 
Join Date: Mar 2005
Posts: 249
Thanks: 0
Thanked 4 Times in 4 Posts
artov is on a distinguished road
Your problem is the code, it is too old gnu c++. It still have option -traditional,
but it does nothing. So, fix each error by hand. The messages tell the problem:
the code uses integers, where is should use pointers etc.
Reply With Quote
  #3  
Old April 12th, 2007, 03:44 PM
Registered User
 
Join Date: Mar 2007
Posts: 15
Thanks: 0
Thanked 0 Times in 0 Posts
owning is on a distinguished road
But how come when i compile my code separately ie. the coral_test.c
and the hash implementation they just work fine. But when i try to merge both the codes together i get these errors. Is there some problem in my make file.
Can you please let me know. Because i just wrote it using information from net.

my structure looks like for hash:

-rw-r--r-- 1 hetawal hetawal 8753 Mar 29 15:24 hashtab.c
-rw-r--r-- 1 hetawal hetawal 6355 Mar 29 15:23 hashtab.h
-rw-r--r-- 1 root hetawal 3584 Apr 11 01:08 hashtab.o
-rw-r--r-- 1 hetawal hetawal 8486 Mar 29 15:23 lookupa.c
-rw-r--r-- 1 hetawal hetawal 692 Mar 29 15:23 lookupa.h
-rw-r--r-- 1 root hetawal 4776 Apr 11 01:08 lookupa.o
-rw-r--r-- 1 hetawal hetawal 325 Apr 11 01:08 makefile
-rw-r--r-- 1 hetawal hetawal 2104 Mar 29 15:23 recycle.c
-rw-r--r-- 1 hetawal hetawal 2036 Mar 29 15:23 recycle.h
-rw-r--r-- 1 root hetawal 1392 Apr 11 01:08 recycle.o
-rw-r--r-- 1 hetawal hetawal 29 Mar 29 15:29 sa.txt
-rw-r--r-- 1 hetawal hetawal 1617 Mar 29 15:23 standard.h
-rwxr-xr-x 1 root hetawal 22696 Apr 11 01:08 test
-rw-r--r-- 1 hetawal hetawal 138 Apr 8 13:56 ttl.c
-rw-r--r-- 1 hetawal hetawal 120 Apr 8 13:56 ttl.h
-rwxr-xr-x 1 hetawal hetawal 22196 Apr 8 19:16 unique
-rw-r--r-- 1 hetawal hetawal 4429 Apr 8 21:19 unique.c


when i just compile unique.c it works fine alone.


And when i try to use the code in my coral_test.c as describe in my above email. It gives me error. Same is case with my coral_test.c when compiled separtalety.


Can you please help me to merge them together


Thanks
Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Forum Jump


All times are GMT -5. The time now is 06:51 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0 RC1
Copyright 2000-2010 DigitalCrowd, Inc.