CMU-Perceptual-Computing-Lab / caffe_rtpose

Realtime C++ code for multi-person pose estimation
Other
356 stars 207 forks source link

Compile Error #50

Closed pulkitag closed 6 years ago

pulkitag commented 6 years ago

I am integrating the rtpose code into my caffe using the instructions provided in the readme. I am almost there but am running into the following issue:

CXX/LD -o .build_release/examples/rtpose/rtpose.bin
.build_release/examples/rtpose/rtpose.o: In function `distanceThresholdPeaks(float const*, int, float*, ModelDescriptor*)':
rtpose.cpp:(.text+0xada): undefined reference to `ModelDescriptor::get_number_parts()'
.build_release/examples/rtpose/rtpose.o: In function `render(int, float*)':
rtpose.cpp:(.text+0x2357): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x2375): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x24b4): undefined reference to `render_mpi_parts(float*, int, int, int, int, float*, int, float*, float*, std::vector<int, std::allocator<int> >, int)'
rtpose.cpp:(.text+0x24fd): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x2528): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x255e): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x25d0): undefined reference to `render_coco_aff(float*, int, int, int, int, float*, int, float*, float*, std::vector<int, std::allocator<int> >, int, int)'
rtpose.cpp:(.text+0x2658): undefined reference to `render_coco_parts(float*, int, int, int, int, float*, int, float*, float*, std::vector<int, std::allocator<int> >, int, bool)'
.build_release/examples/rtpose/rtpose.o: In function `warmup(int)':
rtpose.cpp:(.text+0x3df7): undefined reference to `ModelDescriptorFactory::createModelDescriptor(ModelDescriptorFactory::Type, std::unique_ptr<ModelDescriptor, std::default_delete<ModelDescriptor> >&)'
rtpose.cpp:(.text+0x3fa7): undefined reference to `ModelDescriptorFactory::createModelDescriptor(ModelDescriptorFactory::Type, std::unique_ptr<ModelDescriptor, std::default_delete<ModelDescriptor> >&)'
.build_release/examples/rtpose/rtpose.o: In function `displayFrame(void*)':
rtpose.cpp:(.text+0x48ad): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x48fa): undefined reference to `ModelDescriptor::get_part_name[abi:cxx11](int)'
rtpose.cpp:(.text+0x4b58): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x51a2): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x51e5): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x5218): undefined reference to `ModelDescriptor::get_part_name[abi:cxx11](int)'
.build_release/examples/rtpose/rtpose.o: In function `connectLimbsCOCO(std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&, std::vector<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >, std::allocator<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > > > >&, float const*, float const*, int, float*, ModelDescriptor*)':
rtpose.cpp:(.text+0x72ee): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x7301): undefined reference to `ModelDescriptor::get_limb_sequence()'
rtpose.cpp:(.text+0x7319): undefined reference to `ModelDescriptor::get_map_idx()'
rtpose.cpp:(.text+0x7331): undefined reference to `ModelDescriptor::number_limb_sequence()'
.build_release/examples/rtpose/rtpose.o: In function `connectLimbs(std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&, std::vector<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >, std::allocator<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > > > >&, float const*, float const*, int, float*, ModelDescriptor*)':
rtpose.cpp:(.text+0x8c03): undefined reference to `ModelDescriptor::get_number_parts()'
rtpose.cpp:(.text+0x8c16): undefined reference to `ModelDescriptor::get_limb_sequence()'
rtpose.cpp:(.text+0x8c2e): undefined reference to `ModelDescriptor::get_map_idx()'
rtpose.cpp:(.text+0x8c46): undefined reference to `ModelDescriptor::number_limb_sequence()'
collect2: error: ld returned 1 exit status
Makefile:630: recipe for target '.build_release/examples/rtpose/rtpose.bin' failed
make: *** [.build_release/examples/rtpose/rtpose.bin] Error 1

I had set the `CXXFLAG to -std=c++11, otherwise it would throw more errors. I am on Ubuntu 16.04 and using g++ version 5.4.

Any pointers on what might be going wrong?

gineshidalgo99 commented 6 years ago

Please, move to the updated, faster and more accurate https://github.com/CMU-Perceptual-Computing-Lab/openpose

Thanks!