of preference, this may be done by: #. Marking the object ``const`` (if possible) #. Moving the object's definition to a source file #. Making the object visible using ``__attribute((visibility("default")))``, ``__declspec(dllimport)``, or ``__declspec(dllexport)``. When annotating an object with ``__declspec(dllimport)`` or ``__declspec(dllexport)``, take care to ensure that the object is only exported from one dll, and is imported everywhere else. Note that for (2), all levels of a pointer variable must be constant; ``const int*`` will trigger the warning because the pointer itself is mutable.