I need help on compiler flags in C ++. I am using a library, which is a port for linux from Windows, which must be compiled with the -malign-double flag, "for compatibility with Win32". As far as I understand, this means that I also have to compile my own code with this flag? What about other .so shared libraries, are they also recompiled with this flag? If so, is there any way around this?
I am new to linux (and C ++), so although I tried to recompile all the libraries that I use for my project, it was too difficult to recursively find the source for all the libraries and libraries that they depend on and recompile everything.
Edit: Thanks for the answers. Some background: this library controls initialization and access to a USB-connected camera. The problem is that strange things start without this flag. It seems like a random camera initialization error with USB connection errors. I also get some memory corruption of several c-lines (const char *) that are on the stack. Basically, before I call the initialization of this camera, they indicate the directory path; after initialization, they point to the string "me". Which is very confusing to me.
source share