Score:0

การอ้างอิงถึงไลบรารีที่ไม่ได้กำหนดขณะสร้าง

ธง br

ฉันกำลังพยายามติดตั้ง 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

ฉันคิดว่านั่นหมายถึงมีการติดตั้งไลบรารี่แล้ว ใครช่วยชี้สาเหตุของข้อผิดพลาดนี้ได้บ้าง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา