(Linux) ปัญหาเกี่ยวกับ library depend
ปัญหาคือหากแตกไฟล์แล้วรันบน Ubuntu 22.04 LTS จะบอกว่าไม่พบ dynamic lib ของ librtmidi.so.4
อันนี้แก้ได้หลายทาง แต่ที่แนะนำคือ -) ก่อนตอน publish release หลัง build เสร็จให้ทำ symlink ใน ./lib จาก librtmidi.so.4.0.0 เป็น librtmidi.so.4
ตามครับ ว่าจะลอง build แต่ติดบางไฟล์ไม่ถูก commit เลย build ไม่ได้ ไฟล์ที่บอกครับ Midi/HNKFileComp.h Midi/HNKFile.h Midi/HNKFile.cpp
Midi/HNKFileComp.h Midi/HNKFile.h Midi/HNKFile.cpp
@nutthawutkongsopa อันนี้น่าจะเป็น ปัญหาอีกอย่างครับ เปิด issues แยกได้เลยครับ
ปัญหาของผมคือ การ build เป็น binary แต่ตัว binary กับ library มีข้อมูลไม่สอดคล้องกัน เลยเปิดไม่ได้ครับ ปัญหาของผมแก้ได้ง่ายเลยตามที่บอก (แก้ง่ายคือตามข้อแรก)
ส่วนปัญหาของคุณคือ build ไม่ผ่านเพราะขาดไฟล์ อันนี้เปิด issues ได้เลยครับ ความจริงคิดว่าไม่น่า build ผ่านบน windows ด้วย
ของผมลองทำ Symlink ไว้ใน ./lib แล้วก็ยังรันไม่ได้ครับ (Fedora 38 ครับ)
[toonnongaeoy@fedora HandyKaraoke-2.4.1-linux-x86_64]$ ./HandyKaraoke
./HandyKaraoke: error while loading shared libraries: librtmidi.so.4: cannot open shared object file: No such file or directory
[toonnongaeoy@fedora HandyKaraoke-2.4.1-linux-x86_64]$ ln -sf ./lib/librtmidi.so.4.0.0 ./lib/librtmidi.so.4
[toonnongaeoy@fedora HandyKaraoke-2.4.1-linux-x86_64]$ ./HandyKaraoke
./HandyKaraoke: error while loading shared libraries: librtmidi.so.4: cannot open shared object file: No such file or directory