divyang4481 / rcf-cpp

Automatically exported from code.google.com/p/rcf-cpp
0 stars 0 forks source link

Cannot get to compile. #8

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Compiling with GCC 4.2.4 Linux

IDE = Eclipse Managed C++ Project

Boost Version = 1.36.0
Zlib Version = 1.2.3
OpenSSL Version = 0.9.8i
RCF = 1.0

PreProcessor Defines:
RCF_USE_BOOST_ASIO
RCF_USE_BOOST_THREADS
RCF_MULTI_THREADED
RCF_USE_BOOST_READ_WRITE_MUTEX
RCF_USE_ZLIB
RCF_USE_OPENSSL
RCF_USE_BOOST_SERIALIZATION

Include Paths:
-I/Libraries/IA32/include                       <-- headers for zlib & openSSL
-I/Libraries/IA32/include/boost-1_36            <-- headers for boost
-I/home/iharrold/Libraries/tar/RCF-1.0/include  <-- headers for RCF
-I/home/iharrold/Libraries/tar/RCF-1.0/src/RCF  <-- CPP for RCF
-I/home/iharrold/Libraries/tar/RCF-1.0/src/SF   <-- CPP for SF
-I/home/iharrold/Libraries/tar/RCF-1.0/src      <-- RCF source directory

Library Includes:        <-- All libraries are present and compiled
-lboost_serialization-gcc42-mt
-lboost_system-gcc42-mt
-lboost_thread-gcc42-mt
-lz
-lssl
-L/Libraries/IA32/lib

Project File structure:
RCFProject
 - src
    +-main.cpp  <-- The Echo Server example
    +-RCF.cpp

Attached is the Main.cpp used, the errorlog from the compiler, and the make
file information used to compile it.

I don't know what I am doing wrong.  I don't know if this is the right
location for this question however.

Original issue reported on code.google.com by ian.harr...@gmail.com on 23 Jan 2009 at 5:09

Attachments:

GoogleCodeExporter commented 9 years ago
Hrmm... I was able to get it to compile with these PreProcessor settings:
RCF_USE_BOOST_ASIO
BOOST_ASIO_HAS_LOCAL_SOCKETS
RCF_USE_BOOST_THREADS

However if I change the PreProcessors settings to:
-DRCF_USE_BOOST_ASIO 
-DRCF_USE_BOOST_READ_WRITE_MUTEX 
-DRCF_USE_BOOST_SERIALIZATION 
-DBOOST_ASIO_HAS_LOCAL_SOCKETS 
-DRCF_USE_BOOST_THREADS

I get the following errors:
/home/iharrold/Libraries/tar/RCF-1.0/include/RCF/Marshal.hpp: In function 
‘void
RCF::serializeImpl(RCF::SerializationProtocolOut&, const RCF::ByteBuffer&, long 
int)’:
/home/iharrold/Libraries/tar/RCF-1.0/include/RCF/Marshal.hpp:197: error:
‘getMyRuntimeVersion’ is not a member of ‘SF’
/home/iharrold/Libraries/tar/RCF-1.0/include/RCF/Marshal.hpp: In function 
‘void
RCF::deserializeImpl(RCF::SerializationProtocolIn&, RCF::ByteBuffer&, long 
int)’:
/home/iharrold/Libraries/tar/RCF-1.0/include/RCF/Marshal.hpp:217: error:
‘getMyRuntimeVersion’ is not a member of ‘SF’
/home/iharrold/Libraries/tar/RCF-1.0/include/RCF/Marshal.hpp: In constructor
‘RCF::IDL::InHeader::InHeader(RCF::ClientStub&, bool, std::string, int)’:

Original comment by ian.harr...@gmail.com on 23 Jan 2009 at 6:56

GoogleCodeExporter commented 9 years ago
You'll need to add this include at the top of Marshal.hpp:

#include <SF/Serializer.hpp>

, and that should take care of the compiler errors. This issue is fixed in the 
upcoming 1.1 release.

BTW, you don't need to define BOOST_ASIO_HAS_LOCAL_SOCKETS, as Boost.Asio 
should do 
that itself. And RCF_USE_BOOST_READ_WRITE_MUTEX is a leftover from old versions 
of 
RCF; it no longer has an effect.

Original comment by jarl.lin...@gmail.com on 4 Feb 2009 at 6:54

GoogleCodeExporter commented 9 years ago

Original comment by jarl.lin...@gmail.com on 28 May 2009 at 1:45

GoogleCodeExporter commented 9 years ago

Original comment by jarl.lin...@gmail.com on 28 May 2009 at 1:46