No hay un MS-VC equivalente a este atributo. Ver http://connect.microsoft.com/VisualStudio/feedback/details/505028/add-weak-function-references-for-visual-c-c. Voy a sugerir algo horrible: leyendo su propósito aquí: http://www.kolpackov.net/pipermail/notes/2004-March/000006.html es esencialmente para definir funciones que, si sus símbolos existen, se usan, de lo contrario, no lo son, así que ...
¿Por qué no usar pre -procesador para este propósito, con la gran advertencia de "si necesita hacer esto en absoluto"? (No soy partidario de recomendar pre-procesador).
Ejemplo:
#ifdef USE_MY_FUNCTION
extern void function();
#endif
luego llamar adecuadamente en la lógica de la aplicación, rodeado de #ifdef
declaraciones. Si su biblioteca estática está vinculada, como parte del proceso de vinculación, modifique las definiciones para definir USE_MY_FUNCTION.
No es exactamente un equivalente directo y muy feo, pero es lo mejor que se me ocurre.
Consulte [Biblioteca estática de Windows con funciones predeterminadas] (http://stackoverflow.com/questions/5097961/windows-static-library-with-default-functions). ¿Es esto lo que intentas lograr? – brady
Consulte la [respuesta de Michael Burr] (http://stackoverflow.com/a/2290843/321013) - MSVC realmente * predeterminado * a este comportamiento. Si anula un símbolo que ya está definido en una lib de dependencia, el símbolo en '.lib' se ignorará silenciosamente. –