Windows linking - ribclient library (2.0.2)

Help
2007-03-26
2013-04-25
  • Nicholas Yue
    Nicholas Yue
    2007-03-26

    Hi,

      I have a project which uses Pixie's RIB client library.

      It compiles, link and runs fine on OS X.

      When I compile and link on Windows, I get missing symbol for tokens like RI_Z etc..

      Most of the string token seems to be missing.

      Is there a special define I have to use to get the exported symbols like RI_Z?

    Regards

     
    • Dao Hung Huynh
      Dao Hung Huynh
      2007-03-28

      Hi,
      do you use VS2005 for compiling under Windows? The symbols is normaly exported when you build the lib with the project file. Though, you use the define preprocessor #define RENDERER for exporting the symbols and RI functions.

      Cheers

       
      • George Harker
        George Harker
        2007-03-28

        I think under WIN32, that RENDERER should only be defined for the innards of the Pixie build.  If RENDERER isn't defined (and WIN32 is defined), the symbols will be _declspec(import) in the header, which should cause them to be pulled into your build.

        I'm not a Win32 exper though.

        Hope that helps

        George

         
        • Nicholas Yue
          Nicholas Yue
          2007-03-28

          Yup, you are right. WIN32 needs to be defined explicitly.

          Under windows, it seems that _WIN32 is defined but not WIN32, probably depends on which header files from Microsoft you have included. I don't think there is a standard but _WIN32 seems to be what Microsoft use.

          Now, with WIN32 defined but not RENDERER, almost all my linking error has gone away except the following

                  RI_MAXDISTANCE
                  RiPowerBasis
                  RiHermiteBasis
                  RiCatmullRomBasis
                  RiBSplineBasis
                  RiBezierBasis

          Regards

           
          • Nicholas Yue
            Nicholas Yue
            2007-03-29

            I have recompile everything with Pixie 2.1.1 on Windows.

            Those symbols are still missing.

            Regards

             
    • Nicholas Yue
      Nicholas Yue
      2007-03-28

      I am using VS2003. My Python libraries are compiled with VS2003 so I need to use the same compilers.

      I have RENDERER defined.