Mi escenario es el siguiente (funcionó en clang pero no en gcc)
liba.hpp:
inline int MY_GLOBAL = 0;
libother.cpp: (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp:
RunAppThatUsesBothLibAandLibOther();
El problema es que la variable en línea mostraba 0 en lugares donde esperaba 28 porque ya estaba modificada en tiempo de ejecución. MSVC no está de acuerdo con esto, pero el sonido metálico hace lo que yo esperaría.
La pregunta es: ¿ se pueden modificar las variables en línea en tiempo de ejecución en mi escenario? (Resolví el problema deslindando la variable).
inline
variables. También deberá asegurarse de que se exportaron desde una DLL e importaron desde allí en todos los demás lugares.