я пытаюсь установить 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» {он же «long unsigned int» } [-Wformat=]
30 | std::fprintf(stderr, "Количество кадров: %d\n", кадров);
| ~^ ~~~~~~
| | |
| int size_t {длинное целое число без знака}
| %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&, unsigned long, unsigned long)':
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&, bool)'
/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(unsigned long, rlottie::Surface, bool)'
/usr/bin/ld: tgs2apng.cpp:(.text+0x4ad): неопределенная ссылка на `apngasm::APNGFrame::APNGFrame(apngasm::rgba*, unsigned int, unsigned int, unsigned int, unsigned 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 статус выхода
make: *** [<встроенный>: 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 | апнгазм
возвращается-
libapngasm.so (libc6,x86-64) => /usr/local/lib/libapngasm.so
Я думаю, это означает, что библиотеки установлены, может ли кто-нибудь указать причину этой ошибки?