Hi,
As per the suggestion given yesterday, I have implemented a server code.
I hope the same will work.
The issue now am facing is that am not able to compile and build the
code successfully.
The thrift (calc.thrift) file am using is as follows :
*#!/usr/local/bin/thrift --gen c_glib
service Calculator {
void ping(),
i32 calculate(1:i32 id, 2:i32 num)
}*
The Makefile am using is
*GEN_SRC := Calc_server.c calculator.c calc_types.c
GEN_OBJ := $(patsubst %.c,%.o, $(GEN_SRC))
GLIB_OBJ_DIR := /usr/include/glib-2.0
GLIB_CFG_DIR := /usr/lib/x86_64-linux-gnu/glib-2.0/include
THRIFT_DIR := /usr/local/include/thrift
BOOST_DIR := /usr/local/include
INC := -I$(THRIFT_DIR) -I$(BOOST_DIR) -I$(GLIB_OBJ_DIR) -I$(GLIB_CFG_DIR)
.PHONY: all clean
all: calc_server
%.o: %.c
$(CXX) -Wall -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H $(INC) -c $<
-o $@
calc_server: calc_types.o calculator.o Calc_server.o $(GEN_OBJ)
$(CXX) $^ -o $@ -lthrift
clean:
$(RM) *.o calc_server*
With minor changes in the above Makefile am able to generate the
executable for the cpp counterpart.
Why is it that am not able to do the same for c?
Is it the problem of Makefile?
Kindly assist me so that I can generate the server executable.
On 4/9/2015 9:32 AM, Deeraj wrote:
Thanks JensG. So I suppose, I will need to go through the tutorial to
get going.
On 4/9/2015 5:18 AM, Jens Geyer wrote:
Hi Deeraj,
the answer on that question you already received on SO [1] is
entirely sufficient. There's nothing more to add (at least from my
perspective), except maybe that only a handful of languages implement
skeleton generation or something comparable at all - and we are
talking about very small hands here :-) As Simon already wrote over
there, the skeleton code is not really needed in most cases. I would
add, that that code depends to a good part on the requirements. The
tutorial and the Thrift test implementations are really good examples
to get started.
Have fun using Thrift,
JensG
[1]
http://stackoverflow.com/questions/29506326/server-skeleton-not-generating-in-c-glib-thrift
-----Ursprüngliche Nachricht----- From: Deeraj
Sent: Wednesday, April 8, 2015 3:45 PM
To: [email protected]
Subject: Server skeleton generation using c_glib
*Hi,
I am trying to implement client/ server in c. I am able to generate the
server skeleton in cpp using the following command :
thrift ---gen cpp test.thrift
But while generating the code using c_glib, the server skeleton is not
generated.
Is this a problem with my .thrift file or is it because of the c_glib ?
Can you kindly confirm whether the c_glib generates the server skeleton?
The test.thrift file am using is appended here :
*
|#!/usr/local/bin/thrift --gen c_glib
namespace c_glibTest
struct packet{
1:required i32 header,
2:required i32 data,
3:required i32 crc
}
serviceSomething {
i32 ping(),
packet transfer()
}|
.
--
Thanks & Regards,
Deeraj Soman
Senior Engineer - TBU | Embedded Product Design
TATA ELXSI
Technopark CampusKariyavattomTrivandrum 695 581India
Phone:+91 471 666 1124
Mobile: +91 9895703852
*www.tataelxsi.com*
<https://sinprd0410.outlook.com/owa/redir.aspx?C=qyQ5HANN90SvDNp5pyzlQgCjW3rPss8IRh9kaHIpdT-pocCvJc2bGjG5OjXXp8HUHmQTB2YZ2Kw.&URL=http%3a%2f%2fwww.tataelxsi.com%2f>