Am construit clazy cu clang-12, dar Qt creator dă o eroare:
Comanda „/usr/local/clazy/bin/clazy-standalone --version” sa încheiat cu codul de ieșire 127.
/usr/local/clazy/bin/clazy-standalone: eroare la încărcarea bibliotecilor partajate: libclang-cpp.so.12: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director
Am adăugat directoarele corecte la .bashrc:
- export PATH=/usr/local/clang-12/bin:$PATH
- export LD_LIBRARY_PATH=/usr/local/clang-12/lib:$LD_LIBRARY_PATH
Iată o imprimare a dependențelor de obiecte partajate pentru clazy-standalone:
linux-vdso.so.1 (0x00007ffd9ebe0000)
ClazyPlugin.so => /usr/local/clazy/lib/ClazyPlugin.so (0x00007f06c929d000)
libclang-cpp.so.12 => /usr/local/clang-12/lib/libclang-cpp.so.12 (0x00007f06c4b2b000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f06c4b08000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f06c4b02000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f06c4adf000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f06c4990000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f06c4972000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f06c4942000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f06c4761000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f06c4746000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f06c4554000)
/lib64/ld-linux-x86-64.so.2 (0x00007f06c9437000)
Iată o imprimare a dependențelor de obiecte partajate pentru libclang-cpp.so.12:
linux-vdso.so.1 (0x00007ffee8df9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbe393b1000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbe393a6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbe393a0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbe39251000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbe39235000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fbe39205000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbe39022000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbe39007000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe38e15000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbe3db60000)
libcland-cpp.so.12 nu este o legătură simbolică.
Din nou, comentariul lui @N0rbert nu oferă nicio valoare. Am și alte probleme similare despre care bănuiesc că provin din acest tip de problemă. Din anumite motive, Linux nu poate găsi sau utiliza fișierele date.
Am găsit postări cu probleme cu biblioteci partajate din 2005, așa că evident că nu sunt singurul.
Poate cineva să dea în sfârșit un răspuns corect despre cum să rezolvi acest tip de problemă? Astfel, oamenii ca mine nu trebuie să petreacă ore întregi citind postări fără răspunsuri. Sau este aceasta o „funcție” a Linux-ului?