ฉันกำลังพยายามติดตั้ง tgs2apng ใน Ubuntu บน WSL ตามคำแนะนำฉันได้ติดตั้งไลบรารี 3 แห่ง - รอตตี้, libpng และ ภาวะซึมเศร้า. อย่างไรก็ตามเมื่อฉันวิ่ง ทำ
ฉันได้รับการอ้างอิงที่ไม่ได้กำหนดถึง รอตตี้ และ ภาวะซึมเศร้า
นี่คือผลลัพธ์ของ ทำ
g++ -Wl,--start-group -lrlottie -lapngasm -lboost_filesystem -lboost_regex -Wl,--end-group -Wl,-rpath-link=/usr/local/lib tgs2apng.cpp -o tgs2apng
tgs2apng.cpp: ในฟังก์ชัน âbool tgs2apng::render(const string&, const string&, size_t, size_t)â:
tgs2apng.cpp:30:38: คำเตือน: รูปแบบ â%dâ ต้องการอาร์กิวเมนต์ประเภท âintâ แต่อาร์กิวเมนต์ 3 มีประเภท âsize_tâ {aka âlong unsigned intâ } [-Wรูปแบบ=]
30 | std::fprintf(stderr, "จำนวนเฟรม: %d\n", เฟรม);
| ~^ ~~~~~~
| | |
| int size_t {aka long unsigned int}
| %ld
/usr/bin/ld: /tmp/ccWPPbxE.o: ในฟังก์ชัน `tgs2apng::render(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ยาวที่ไม่ได้ลงนาม, ยาวที่ไม่ได้ลงนาม)':
tgs2apng.cpp:(.text+0xf3): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Animation::loadFromData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator <char> > const&, บูล)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x175): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Animation::totalFrame() const'
/usr/bin/ld: tgs2apng.cpp:(.text+0x193): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Animation::frameRate() const'
/usr/bin/ld: tgs2apng.cpp:(.text+0x25d): การอ้างอิงที่ไม่ได้กำหนดถึง `apngasm::APNGAsm::APNGAsm()'
/usr/bin/ld: tgs2apng.cpp:(.text+0x315): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Surface::Surface(unsigned int*, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x36e): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Animation::renderSync(ความยาวที่ไม่ได้ลงนาม, rlottie::Surface, bool)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x4ad): การอ้างอิงที่ไม่ได้กำหนดถึง `apngasm::APNGFrame::APNGFrame(apngasm::rgba*, int ที่ไม่ได้ลงชื่อ, int ที่ไม่ได้ลงชื่อ, int ที่ไม่ได้ลงชื่อ, int ที่ไม่ได้ลงชื่อ)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x4c6): การอ้างอิงที่ไม่ได้กำหนดถึง `apngasm::APNGasm::addFrame(apngasm::APNGFrame const&)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x4ec): การอ้างอิงที่ไม่ได้กำหนดถึง `apngasm::APNGasm::assemble(std::__cxx11::basic_string<char, std::char_traits<char>, std: :allocator<char> > const&)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x506): การอ้างอิงที่ไม่ได้กำหนดถึง `apngasm::APNGASm::~APNGasm()'
/usr/bin/ld: /tmp/ccWPPbxE.o: ในฟังก์ชัน `std::default_delete<rlottie::Animation>::operator()(rlottie::Animation*) const':
tgs2apng.cpp:(.text._ZNKSt14default_deleteIN7rlottie9AnimationEEclEPS1_[_ZNKSt14default_deleteIN7rlottie9AnimationEEclEPS1_]+0x22): การอ้างอิงที่ไม่ได้กำหนดถึง `rlottie::Animation::~Animation()'
Collect2: ข้อผิดพลาด: ld ส่งคืนสถานะการออก 1 รายการ
ทำ: *** [<builtin>: tgs2apng] ข้อผิดพลาด 1
ldconfig -p | เกรป ล็อตตี
ผลตอบแทน-
librlottie.so.0 (libc6,x86-64) => /lib/librlottie.so.0
librlottie.so (libc6,x86-64) => /lib/librlottie.so
librlottie-image-loader.so (libc6,x86-64) => /lib/librlottie-image-loader.so
และ ldconfig -p | grep apngasm
ผลตอบแทน-
libapngasm.so (libc6,x86-64) => /usr/local/lib/libapngasm.so
ฉันคิดว่านั่นหมายถึงมีการติดตั้งไลบรารี่แล้ว ใครช่วยชี้สาเหตุของข้อผิดพลาดนี้ได้บ้าง