Avatar ·

लिंकिंग त्रुटि: /usr/bin/ld: cannot find -l<लाइब्रेरी_का_नाम> 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मैं इसे इस प्रकार कंपाइल कर रहा हूँ: `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`। लिंकर लाइब्रेरी को क्यों नहीं ढूँढ पा रहा है? मैंने विभिन्न फ़्लैग्स आज़माए: `-L/usr/lib/x86_64-linux-gnu`, `-static`, लेकिन कुछ भी काम नहीं आया।