Linking libraries compiled with a different version of gcc

I have a C ++ software (Borealis stream engine) that is compiled and works with GCC 3.3.6 (I was unable to get it to work with a newer version of GCC and is no longer supported by the software).

I like to extend this to invoke some complex Pairing Based library that is definitely compiled with the latest version of GCC.

My question is, can this be done, that is, call a library compiled with a newer version of GCC from code compiled with a much older version of GCC? Is it technically possible? What are the potential problems?

I hope someone can help shed some lights on these questions so that I can avoid spending days (or even weeks) compiling and learning how to use this software in order to eventually figure out that they can't work together.

+3


source to share


1 answer


It. If this were not the case, we would have serious problems. The compiler version is not related to the platform ABI.



(One thing that can really break in the case of C ++ compilers is changing the naming convention, but with C, for example, even that risk doesn't exist.)

+1


source







All Articles