Menu

Creation of Visual Studio build envorinment for EXIP v0.5.3 from scratch.

Get Help
pratik
2013-12-02
2013-12-18
  • pratik

    pratik - 2013-12-02

    Background & Objective:
    I want to embed the EXIP library in my existing Windows-based (Visual C++) software. I understand that the present version of EXIP (v0.5.3) supports build only with GCC via the Makefile. However, I need to build the solution in Visual Studio in one of the two following ways:
    1. Either as a library, which could then be referenced/linked with in the existing software.
    2. Build the source of EXIP as a part of my existing software (EXIP source + Encoder example source + existing software).

    Queries:
    I would like to understand the feasibility of compiling the EXIP source in Windows/Visual Studio environment. I plan to create the build environment for EXIP v0.5.3, by creating a new project (in Visual Studio) and adding the source/header files, and subsequently building the project in one of the two ways as mentioned above.

    I would like to understand if this approach is feasible from the following perspectives:
    1. Does the EXIP source have specific dependencies with Linux/GCC headers, which would not be available in Windows/Visual Studio environment? In case there are dependencies, could you please share the respective dependencies and solutions to overcome/workaround the dependencies as well?
    2. After having built the EXIP source successfully in Windows/Visual Studio (porting) I am expecting that the behavior of the algorithm would be identical to that in Linux/GCC. Is my expectation reasonable and valid? In case there would be any challenges, please share them with me.
    3. After creating the build environment in Visual Studio and successfully building/testing the EXIP source, I would also like to contribute back to the project by sharing the Visual Studio build environment for EXIP v0.5.3. Please let me know how I could do the same.

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2013-12-02

    Hi pratik,

    Here are some hints to your questions:

    • I would recommend you the first approach - create a MSVS solution that builds the exip library and then can be referenced/linked within the existing software.
      In this way it is easier to reuse the port for other applications and it is especially useful if you intend to contribute the port back to the exip project.

    • Until v0.4 the existing MSVS build was working well and I would recommend you to try to fix it rather than create a new one from scratch although a lot has changed since v0.4 and the build was not updated. I am not an expert in MSVS but I have the feeling it won't take much to fix the old build. The MSVS solutions for the exip library and for the examples are in the SVN under build/vs2010

    • Except for some issues with stdint.h (MSVC compliant version available in the vs2010 folder) and the check library for unit testing (this of course is optional, fix for it is available in vs2010, also the latest version of the check library now supports MSVC) I am not aware of any other Linux/GCC specific dependencies.

    • I am certainly expecting the port to Windows/Visual Studio to behave identically to the Linux/GCC version.

    • Any contributions to the project are most welcome. The simplest way is to create a patch and mail it to me (kjussakov@users.sourceforge.net)

    I hope that helps!

    Rumen

     
  • pratik

    pratik - 2013-12-16

    I am working on client-server base application, which has below design structure.

    1.Server side Input message provided to Encoder should be in xml form. Expected output from Encoder is in EXI binary message.The conversion from xml to EXI should happen using schema-informed grammar as per w3c EXI 1.0. Schema files should be hard-coded in server side.

    2.Client side Decoder should process EXI message and convert it to xml message, using schema-informed grammar as per w3c EXI 1.0. Schema files should be hard-coded in client side.

    As per EXIP user manual its support schema files to EXI conversion, direct XML to EXI conversion using schema informed grammar is not supported.

    Let me know the way, I can use Existing EXIP library code in my application.

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2013-12-18

    Working with plain XML requires XML parser library (Expat, libxml, Mini-XML, etc.). You then need to glue the exip input-output to the XML library and vice versa.

     

Anonymous
Anonymous

Add attachments
Cancel