Tal como lo has puesto, estás indicando que esos punteros a estructura del tipo L_Libros están en otro módulo del programa, en un archivo llamado lista.cpp. Pero, ojo, son precisamente esos punteros los que deben estar definidos en lista.cpp, con esos mismos nombres y tipos, de no ser así, lo normal es que el linker te dé, precisamente, el error que te está reportando, ya que no encuentra por ninguna parte las variables que le indicas.
Dado que no has posteado el código completo, interpreto que tienes un módulo denominado lista.cpp, que hace el tratamiento de estructuras del tipo L_Libros. Entonces, lo que tendrías que hacer es:
1. Define la estructura L_Libros en Librería.h (que, supongo, es la que contiene el interface con el módulo lista.cpp).
2. Declara tus variables normalmente, no como extern, es decir:
Código C++:
Ver original....
#include "Libreria.h"
struct L_Libros *cap_li, *aux_li, *f_li, *p_li
....
3. Evidentemente, las funcones de lista.cpp tendrán que trabajar con punteros a esta estructura de datos (supongo que ya es así, dado que las has declarado directamente como punteros).
Sin ver el resto del código no puedo indicarte más. Saludos,