Avatar ·

लिंकिंग त्रुटि: /usr/bin/ld: cannot find -l<library_name> C++ on Linux में

नमस्ते! मैं C++ और Linux में नया हूँ, और कई घंटों से इस त्रुटि से जूझ रहा हूँ। मैं एक सरल प्रोग्राम लिख रहा हूँ जो इमेज प्रोसेसिंग के लिए लाइब्रेरी (libpng) का उपयोग करता है। इसे apt के माध्यम से इंस्टॉल किया: `sudo apt install libpng-dev`। यहाँ मेरा कोड है (फ़ाइल 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\nमैं इसे इस प्रकार compile कर रहा हूँ: `g++ main.cpp -o test -lpng`। जवाब में मिलता है:\n\n```\n/usr/bin/ld: cannot find -lpng\ncollect2: error: ld returned 1 exit status\n```\n\nमैंने जाँच की कि लाइब्रेरी फ़ाइलें मौजूद हैं: `ls /usr/lib/x86_64-linux-gnu/libpng*` दिखाता है `libpng16.a`, `libpng16.so`, `libpng.a` और `libpng.so`। लिंकर लाइब्रेरी को क्यों नहीं ढूँढ पा रहा है? मैंने अलग-अलग flags आज़माए: `-L/usr/lib/x86_64-linux-gnu`, `-static`, लेकिन कुछ भी काम नहीं आया।