Avatar ·

Error de enlace: /usr/bin/ld: cannot find -l<nombre_biblioteca> en C++ en Linux

¡Hola! Soy nuevo en C++ y Linux, y llevo varias horas luchando con un error. Estoy escribiendo un programa simple que usa una biblioteca para trabajar con imágenes (libpng). La instalé mediante apt: `sudo apt install libpng-dev`. Aquí está mi código (archivo main.cpp):\n\n```cpp\n#include \n#include \n\nint main() {\n std::cout << "Hello, PNG!" << std::endl;\n return 0;\n}\n```\n\nCompilo así: `g++ main.cpp -o test -lpng`. Y recibo:\n\n```\n/usr/bin/ld: cannot find -lpng\ncollect2: error: ld returned 1 exit status\n```\n\nHe verificado que los archivos de la biblioteca existen: `ls /usr/lib/x86_64-linux-gnu/libpng*` muestra `libpng16.a`, `libpng16.so`, `libpng.a` y `libpng.so`. ¿Por qué el enlazador no encuentra la biblioteca? Probé diferentes flags: `-L/usr/lib/x86_64-linux-gnu`, `-static`, pero nada funciona.