-1

I downloaded the latest source code of Opensplice DDS from https://github.com/ADLINK-IST/opensplice and tried to build it by following its instructions (source setenv, source ./configure, then make ..) in my Cygwin 64 bit.

The build (make command) appeared to be completed, but a number of modules such as dcpsisocpp2, durability, spliced didn't get built (I can't find dcpsisocpp2.dll, etc).

I wonder if anyone who is familar with Opensplice's makefile system can direct me to solve the problem.

Tsyvarev
  • 60,011
  • 17
  • 110
  • 153
Jia Liang Liu
  • 13
  • 1
  • 6
  • We cannot help with your problem unless you describe it in more details: what do you exactly doing and what errors you got. – Tsyvarev Mar 11 '19 at 15:15
  • more details of my problem: I downloaded the latest source code of Opensplice DDS in https://github.com/ADLINK-IST/opensplice, tried to build it by following its instructions (source setenv, source ./configure, the make..) in my cygwin 64 bit, the build (make command) appeared to be completed, but the a number of modules such as dcpsisocpp2, durability, spliced didn't get built (can't find dcpsisocpp2.dll etc), I wonder if anyone who is familar with Opensplice's makefile system can direct me to solve the problem – Jia Liang Liu Mar 12 '19 at 10:58
  • That description should be **in the question post**, not in the *comments*. – Tsyvarev Mar 12 '19 at 12:27
  • is this question still on hold after I modified to have more details? – Jia Liang Liu Mar 13 '19 at 09:41
  • Changing state of the question is not an *automatic* procedure. Like putting the question on hold, opening the question involves *voting* of SO members. The better question becomes after the editing, the faster it will be reopened (it should be 5 persons who find the question to be fine for Stack Overflow). I have edited your question (which wasn't easy-to-read one as single-paragraph without any formatting). Lets see whether others find your question to be clear... – Tsyvarev Mar 13 '19 at 10:18

1 Answers1

0

You should identify you are going to use community or enterprise version. It seems the community version doesn't have spliced and durability services. Also, dcpsisocpp2 use C++03 which is a very old C++ standard, that when you use C++11 or C++14 writing your application, you might get some warning or error and spend lots of time fixing compile problems.

Try to use dcpssacpp which follows the C++11 standard.

YuSheng
  • 191
  • 1
  • 4
  • Thanks YuSheng, it is community version. I had to cd into spliced, durability and dcpsisocpp2 and type 'make' to build each module individually, it seems working with the corresponding dlls were created, until when using dcpsisocpp2 to write a DDS susbriber, I encountered the following error "The procedure entry point ?setCopyIn@AnyDataReaderDelegate@sub@opensplice@org@@QEAAXP6AEPEAUc_base_s@PEBXPEAX@Z@Z could not be located in the dll 'the dll that use/dependent on dcpsisocpp2.dll', when I use Dependency Walker to check, dcpsisocpp2.dll doesn't have that symbol – Jia Liang Liu Mar 19 '19 at 17:46
  • continued to my previous comment above, instead of symbol '?setCopyIn@AnyDataReaderDelegate@sub@opensplice@org@@QEAAXP6AEPEAUc_base_s@PEBXPEAX@Z@Z', the built dcpsisocpp2.dll instead has symbol '?setCopyIn@AnyDataReaderDelegate@sub@opensplice@org@@QEAAXP6AEPEAUc_type_s@PEBXPEAX@Z@Z', you can see two symbols only 4 characters different, one is ....base..., another is ...type.... Does anyone knows what went wrong when I built dcpsisocpp2? maybe I should use dcpssacpp as YuSheng suggested? but then I can't find dcpssapp module in source code, did YuSheng mean dcpsisocpp instead of dcpsisocpp2? – Jia Liang Liu Mar 19 '19 at 17:51