You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is somehow related with #154. You have a folders structure/naming problem. To explain that, let's consider lib/linalg/BasisWriter.h:16:
#include "utils/Database.h"
Since you are using quotes, the compiler is first looking for Database.h on lib/linalg/utils/. When that fails (because such folder does not exist), it start looking all around the include paths. Of course, the probabilities of having some other library with a utils/Database.h header file are large.
That names collision would be a problem while compiling the library, which might be eventually fixed by the user (if he really knows what he is doing). But of course that is unacceptable when installing the library.
The easiest solution is renaming the lib/ folder as libROM/, and replacing those includes (where the relative path is not working) by something like #include "libROM/utils/Database.h". It is still not a perfect solution, since collisions might yet happens with the installed library itself, but it is much safer.
Otherwise, you need to rethink the folders structure, so just subfolders are considered
The text was updated successfully, but these errors were encountered:
For the time being, I made a workaround in the CMake installation, so at least things can be compiled against the installed library (unless there are name collisions, that will be though). When this is fixed I will revert that
Hey guys!
This is somehow related with #154. You have a folders structure/naming problem. To explain that, let's consider lib/linalg/BasisWriter.h:16:
#include "utils/Database.h"
Since you are using quotes, the compiler is first looking for
Database.h
onlib/linalg/utils/
. When that fails (because such folder does not exist), it start looking all around the include paths. Of course, the probabilities of having some other library with autils/Database.h
header file are large.That names collision would be a problem while compiling the library, which might be eventually fixed by the user (if he really knows what he is doing). But of course that is unacceptable when installing the library.
The easiest solution is renaming the
lib/
folder aslibROM/
, and replacing those includes (where the relative path is not working) by something like#include "libROM/utils/Database.h"
. It is still not a perfect solution, since collisions might yet happens with the installed library itself, but it is much safer.Otherwise, you need to rethink the folders structure, so just subfolders are considered
The text was updated successfully, but these errors were encountered: