cmu-perceptual-computing-lab / monoculartotalcapture Goto Github PK
View Code? Open in Web Editor NEWCode for CVPR19 paper "Monocular Total Capture: Posing Face, Body and Hands in the Wild"
Home Page: http://domedb.perception.cs.cmu.edu/mtc.html
Code for CVPR19 paper "Monocular Total Capture: Posing Face, Body and Hands in the Wild"
Home Page: http://domedb.perception.cs.cmu.edu/mtc.html
when I run "sudo bash run_pipeline.sh example_dance",it couldn't work :-(
the error is
Loading from: model/adam_blendshapes_348_delta_norm.json
terminate called after throwing an instance of 'std::runtime_error'
what(): * Line 1, Column 15215598
Syntax error: value, object or array expected.
run_pipeline.sh: 行 58: 17770 已放弃 (核心已转储) ./build/run_fitting --root_dirs $dataDir --seqName
Could anyone address this problem?
when i compile FitAdam(opencv 2.4 , cuda 8.0),i met a link error as below:
/usr/bin/ld: cannot find -lopencv_dep_nppial
/usr/bin/ld: cannot find -lopencv_dep_nppicc
/usr/bin/ld: cannot find -lopencv_dep_nppicom
/usr/bin/ld: cannot find -lopencv_dep_nppidei
/usr/bin/ld: cannot find -lopencv_dep_nppif
/usr/bin/ld: cannot find -lopencv_dep_nppig
/usr/bin/ld: cannot find -lopencv_dep_nppim
/usr/bin/ld: cannot find -lopencv_dep_nppist
/usr/bin/ld: cannot find -lopencv_dep_nppisu
/usr/bin/ld: cannot find -lopencv_dep_nppitc
collect2: error: ld returned 1 exit status
CMakeFiles/run_fitting.dir/build.make:138: recipe for target 'run_fitting' failed
make[2]: *** [run_fitting] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/run_fitting.dir/all' failed
make[1]: *** [CMakeFiles/run_fitting.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
i had set cmake_list by" set(CUDA_USE_STATIC_CUDA_RUNTIME OFF) " ,but still build error!
Hi,
I am trying to use the python wrappers to visualise the outputs of MTC. However, in AdamModel.py, it seems I need a "libPythonWrapper.so" file to initialise the meshWrapper:
meshlib = meshWrapper("/home/donglaix/Documents/Experiments/hand_model/build/libPythonWrapper.so") (line 239 of AdamModel.py)
I have compiled the code but cannot seem to find this required file. Can you advise where I would be able to access/generate the "libPythonWrapper.so" file?
Thanks,
Ben
Hi,
Thank a lot for disclosing the MTC code. It is really helpful to understand your wonderful work.
The code estimates two 2D keypoints from the input:
Question:
[Fig. 1. 2D keypoints from OpenPose]
[Fig. 2. 2D keypoints from POF generation]
[Fig. 3. 3D fitting without temporal tracking]
Hi,guys,when I compile your code in CentOS7,at the final link step it said:
undefined reference to "loadTotalModelFromObj"
undefined reference to "loadModelColorFromObj"
undefined reference to "loadTotalDataFromJson"
undefined reference to "loadCocoPlusRegressor"
undefined reference to "writeFrameParam"
undefined reference to "readFramParam"
do you know how to fix that?
Thanks for your great work!
I find it difficult to configure the environment, would it be possible for you to release a dockerfile or docker image? Thanks in advance~
Hello. How can I fix this ?
mario@ziom-Z87-HD3:/home/ziom/Scrivania/MonocularTotalCapture/FitAdam/build# cmake ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'eigen3'
-- Found eigen3, version 3.3.7
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found installed version of Eigen: /usr/lib/cmake/eigen3
-- Found required Ceres dependency: Eigen version 3.3.7 in /usr/include/eigen3
-- Found required Ceres dependency: glog
-- Performing Test GFLAGS_IN_GOOGLE_NAMESPACE
-- Performing Test GFLAGS_IN_GOOGLE_NAMESPACE - Success
-- Found required Ceres dependency: gflags
-- Found Ceres version: 1.13.0 installed in: /usr/local with components: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP]
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Found GLEW: /usr/include
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- Found GFlags: /usr/include
-- Found gflags (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libgflags.so)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ziom/Scrivania/MonocularTotalCapture/FitAdam/build
mario@ziom-Z87-HD3:/home/ziom/Scrivania/MonocularTotalCapture/FitAdam/build# make -j12
/home/ziom/Scrivania/MonocularTotalCapture/FitAdam/src/AdamFastCost.cpp: In member function ‘void AdamFullCost::SparseRegress(const Eigen::SparseMatrix<double, 0>&, const double*, const double*, const double*, const double*, double*, double*, double*, double*) const’:
/home/ziom/Scrivania/MonocularTotalCapture/FitAdam/src/AdamFastCost.cpp:1200:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int ic = 0; ic < total_vertex.size(); ic++)
^
/home/ziom/Scrivania/MonocularTotalCapture/FitAdam/src/AdamFastCost.cpp:1225:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int ic = 0; ic < total_vertex.size(); ic++)
^
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mylib.dir/all' failed
make[1]: *** [CMakeFiles/MYLIB.dir/all] Errore 2
Makefile:83: recipe for target 'CMakeFiles/mylib.dir/all' failed
make: *** [all] Errore 2
I am trying to use Monocular Total capture code to see how it works on other videos not the demos. In the demos it seems to be working very good but with other videos it seems that it is not working. For example no 3D human body model is constructed even though it is clear that there is a human body shown in the video. I attached some of the pictures from the body_3d_frontal_tracking folder that show how the Monocular total capture code works for this specific video.
Hi, do you plan to provide the optimization code for fitting Adam model from 3D point cloud?
That is to say, will you release the code of TotalCapture?
http://openaccess.thecvf.com/content_cvpr_2018/papers/Joo_Total_Capture_A_CVPR_2018_paper.pdf
Or do you know the source code which estimates SMPL parameters from 3D point cloud?
hello
In this video (https://www.youtube.com/watch?time_continue=208&v=rZn15BRf77E), there is a Unity Regargeting section.
Can you share the source?
Thank you
You used opencv version 2.4.13.
If I install version 3.4.2, do you have any problems running the code?
thanks
I want to visualize 3D joint positions (3D pose). How do I do this?
I modified the code according to your method 1(https://github.com/CMU-Perceptual-Computing-Lab/MonocularTotalCapture/issues/20). It can run successfully on the remote server, but the output result is very poor. It seems that render is necessary for optical flow. How can I modify it to run correctly on the remote server? I look forward to your reply
//Freezing joints here //////////////////////////////////////////////////////
if (idj == 10 || idj == 11) //foot ends
{
//R.setIdentity();
angles[0] = T(0.0);
angles[1] = T(0.0);
angles[2] = T(0.0);
}
if (idj == 7 || idj == 8) //foot ankle. Restrict side movement
{
angles[2] = T(0.0);
}
if (idj == 18 || idj == 19) //Elbow. Restrict side movement (allowing twist and trival? move)
{
angles[0] = T(0.0);
//angles[1] = T(0.0);
}
what's the means about above code. i dont understand it do what
Renderer.cpp:(.text+0xdc): undefined reference to glewInit' Renderer.cpp:(.text+0x417): undefined reference to
__glewUseProgram'
Renderer.cpp:(.text+0x435): undefined reference to __glewGenVertexArrays' Renderer.cpp:(.text+0x450): undefined reference to
__glewBindVertexArray'
Renderer.cpp:(.text+0x467): undefined reference to __glewGenBuffers' Renderer.cpp:(.text+0x482): undefined reference to
__glewGenBuffers'
Renderer.cpp:(.text+0x49d): undefined reference to __glewGenBuffers' Renderer.cpp:(.text+0x4b8): undefined reference to
__glewGenBuffers'
Renderer.cpp:(.text+0x4dd): undefined reference to __glewGenFramebuffers' Renderer.cpp:(.text+0x4f8): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x5aa): undefined reference to __glewFramebufferTexture' Renderer.cpp:(.text+0x5ce): undefined reference to
__glewGenRenderbuffers'
Renderer.cpp:(.text+0x5e9): undefined reference to __glewBindRenderbuffer' Renderer.cpp:(.text+0x605): undefined reference to
__glewRenderbufferStorage'
Renderer.cpp:(.text+0x625): undefined reference to __glewFramebufferRenderbuffer' Renderer.cpp:(.text+0x64b): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x679): undefined reference to __glewGenFramebuffers' Renderer.cpp:(.text+0x694): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x73a): undefined reference to __glewFramebufferTexture' Renderer.cpp:(.text+0x75e): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x78c): undefined reference to __glewGenFramebuffers' Renderer.cpp:(.text+0x7a7): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x84d): undefined reference to __glewFramebufferTexture' Renderer.cpp:(.text+0x871): undefined reference to
__glewFramebufferRenderbuffer'
Renderer.cpp:(.text+0x897): undefined reference to __glewCheckFramebufferStatus' Renderer.cpp:(.text+0x8ca): undefined reference to
__glewGenFramebuffers'
Renderer.cpp:(.text+0x8e5): undefined reference to __glewBindFramebuffer' libMYLIB.a(Renderer.cpp.o): In function
Renderer::LoadShaderFiles(char const*, char const*, bool)':
Renderer.cpp:(.text+0xcff): undefined reference to __glewCreateShader' Renderer.cpp:(.text+0xd16): undefined reference to
__glewCreateShader'
Renderer.cpp:(.text+0xfc4): undefined reference to __glewShaderSource' Renderer.cpp:(.text+0xfe7): undefined reference to
__glewCompileShader'
Renderer.cpp:(.text+0xffb): undefined reference to __glewGetShaderiv' Renderer.cpp:(.text+0x101b): undefined reference to
__glewGetShaderiv'
Renderer.cpp:(.text+0x108c): undefined reference to __glewGetShaderInfoLog' Renderer.cpp:(.text+0x112a): undefined reference to
__glewShaderSource'
Renderer.cpp:(.text+0x114d): undefined reference to __glewCompileShader' Renderer.cpp:(.text+0x1161): undefined reference to
__glewGetShaderiv'
Renderer.cpp:(.text+0x1181): undefined reference to __glewGetShaderiv' Renderer.cpp:(.text+0x11f2): undefined reference to
__glewGetShaderInfoLog'
Renderer.cpp:(.text+0x126b): undefined reference to __glewCreateProgram' Renderer.cpp:(.text+0x127d): undefined reference to
__glewAttachShader'
Renderer.cpp:(.text+0x1299): undefined reference to __glewAttachShader' Renderer.cpp:(.text+0x12b5): undefined reference to
__glewLinkProgram'
Renderer.cpp:(.text+0x12c9): undefined reference to __glewGetProgramiv' Renderer.cpp:(.text+0x12e9): undefined reference to
__glewGetProgramiv'
Renderer.cpp:(.text+0x135a): undefined reference to __glewGetProgramInfoLog' Renderer.cpp:(.text+0x13be): undefined reference to
__glewDeleteShader'
Renderer.cpp:(.text+0x13d2): undefined reference to __glewDeleteShader' libMYLIB.a(Renderer.cpp.o): In function
Renderer::SimpleRenderer()':
Renderer.cpp:(.text+0x204a): undefined reference to __glewBindFramebuffer' Renderer.cpp:(.text+0x208d): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x20e5): undefined reference to __glewDrawBuffers' Renderer.cpp:(.text+0x20ff): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x2a2b): undefined reference to __glewUseProgram' Renderer.cpp:(.text+0x320a): undefined reference to
__glewUseProgram'
libMYLIB.a(Renderer.cpp.o): In function Renderer::MeshRender()': Renderer.cpp:(.text+0x3c86): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x3cc9): undefined reference to __glewCheckFramebufferStatus' Renderer.cpp:(.text+0x3d21): undefined reference to
__glewDrawBuffers'
Renderer.cpp:(.text+0x3d3b): undefined reference to __glewBindFramebuffer' Renderer.cpp:(.text+0x4667): undefined reference to
__glewUseProgram'
Renderer.cpp:(.text+0x4f37): undefined reference to __glewUseProgram' Renderer.cpp:(.text+0x4f4f): undefined reference to
__glewGetUniformLocation'
Renderer.cpp:(.text+0x4f74): undefined reference to __glewUniformMatrix4fv' Renderer.cpp:(.text+0x4fb6): undefined reference to
__glewGetUniformLocation'
Renderer.cpp:(.text+0x4fdb): undefined reference to __glewUniformMatrix4fv' Renderer.cpp:(.text+0x5020): undefined reference to
__glewUseProgram'
Renderer.cpp:(.text+0x5045): undefined reference to __glewBindVertexArray' Renderer.cpp:(.text+0x505c): undefined reference to
__glewBindBuffer'
Renderer.cpp:(.text+0x5078): undefined reference to __glewBufferData' Renderer.cpp:(.text+0x50fe): undefined reference to
__glewMapBuffer'
Renderer.cpp:(.text+0x52d3): undefined reference to __glewUnmapBuffer' Renderer.cpp:(.text+0x52e4): undefined reference to
__glewGetAttribLocation'
Renderer.cpp:(.text+0x5309): undefined reference to __glewVertexAttribPointer' Renderer.cpp:(.text+0x5336): undefined reference to
__glewEnableVertexAttribArray'
Renderer.cpp:(.text+0x534a): undefined reference to __glewGetAttribLocation' Renderer.cpp:(.text+0x536f): undefined reference to
__glewVertexAttribPointer'
Renderer.cpp:(.text+0x53a2): undefined reference to __glewEnableVertexAttribArray' Renderer.cpp:(.text+0x53b6): undefined reference to
__glewGetAttribLocation'
Renderer.cpp:(.text+0x53db): undefined reference to __glewVertexAttribPointer' Renderer.cpp:(.text+0x5410): undefined reference to
__glewEnableVertexAttribArray'
Renderer.cpp:(.text+0x5424): undefined reference to __glewGetAttribLocation' Renderer.cpp:(.text+0x5449): undefined reference to
__glewVertexAttribPointer'
Renderer.cpp:(.text+0x5487): undefined reference to __glewEnableVertexAttribArray' Renderer.cpp:(.text+0x54bd): undefined reference to
__glewBindBuffer'
Renderer.cpp:(.text+0x54d9): undefined reference to __glewBufferData' Renderer.cpp:(.text+0x55e3): undefined reference to
__glewUseProgram'
libMYLIB.a(Renderer.cpp.o): In function Renderer::RenderAndRead()': Renderer.cpp:(.text+0x690f): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x6925): undefined reference to __glewUseProgram' libMYLIB.a(Renderer.cpp.o): In function
Renderer::DepthMapRenderer()':
Renderer.cpp:(.text+0x6cab): undefined reference to __glewUseProgram' Renderer.cpp:(.text+0x6ccf): undefined reference to
__glewGetUniformLocation'
Renderer.cpp:(.text+0x6dd4): undefined reference to __glewUniformMatrix4fv' Renderer.cpp:(.text+0x6e16): undefined reference to
__glewBindVertexArray'
Renderer.cpp:(.text+0x6e2d): undefined reference to __glewBindBuffer' Renderer.cpp:(.text+0x6e49): undefined reference to
__glewBufferData'
Renderer.cpp:(.text+0x6ea9): undefined reference to __glewGetAttribLocation' Renderer.cpp:(.text+0x6ece): undefined reference to
__glewVertexAttribPointer'
Renderer.cpp:(.text+0x6efb): undefined reference to __glewEnableVertexAttribArray' Renderer.cpp:(.text+0x6f19): undefined reference to
__glewBindFramebuffer'
Renderer.cpp:(.text+0x6f4e): undefined reference to __glewCheckFramebufferStatus' Renderer.cpp:(.text+0x6fb6): undefined reference to
__glewClearBufferfv'
Renderer.cpp:(.text+0x7009): undefined reference to __glewBindBuffer' Renderer.cpp:(.text+0x7025): undefined reference to
__glewBufferData'
libMYLIB.a(Renderer.cpp.o): In function Renderer::RenderAndReadDepthMap()': Renderer.cpp:(.text+0x7158): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x7308): undefined reference to __glewBindFramebuffer' Renderer.cpp:(.text+0x731e): undefined reference to
__glewUseProgram'
libMYLIB.a(Renderer.cpp.o): In function Renderer::ProjectionRenderer()': Renderer.cpp:(.text+0x73bb): undefined reference to
__glewUseProgram'
Renderer.cpp:(.text+0x73df): undefined reference to __glewGetUniformLocation' Renderer.cpp:(.text+0x74e4): undefined reference to
__glewUniformMatrix4fv'
Renderer.cpp:(.text+0x753a): undefined reference to __glewBindFramebuffer' Renderer.cpp:(.text+0x756f): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x7601): undefined reference to __glewClearBufferfv' Renderer.cpp:(.text+0x7628): undefined reference to
__glewBindVertexArray'
Renderer.cpp:(.text+0x763f): undefined reference to __glewBindBuffer' Renderer.cpp:(.text+0x765b): undefined reference to
__glewBufferData'
Renderer.cpp:(.text+0x76e0): undefined reference to __glewMapBuffer' Renderer.cpp:(.text+0x77ec): undefined reference to
__glewUnmapBuffer'
Renderer.cpp:(.text+0x77fd): undefined reference to __glewGetAttribLocation' Renderer.cpp:(.text+0x7822): undefined reference to
__glewVertexAttribPointer'
Renderer.cpp:(.text+0x784f): undefined reference to __glewEnableVertexAttribArray' Renderer.cpp:(.text+0x7863): undefined reference to
__glewGetAttribLocation'
Renderer.cpp:(.text+0x7888): undefined reference to __glewVertexAttribPointer' Renderer.cpp:(.text+0x78bb): undefined reference to
__glewEnableVertexAttribArray'
Renderer.cpp:(.text+0x78f1): undefined reference to __glewBindBuffer' Renderer.cpp:(.text+0x790d): undefined reference to
__glewBufferData'
libMYLIB.a(Renderer.cpp.o): In function Renderer::RenderAndReadProjection()': Renderer.cpp:(.text+0x7a2c): undefined reference to
__glewCheckFramebufferStatus'
Renderer.cpp:(.text+0x7aed): undefined reference to __glewBindFramebuffer' Renderer.cpp:(.text+0x7b03): undefined reference to
__glewUseProgram'
collect2: error: ld returned 1 exit status
CMakeFiles/run_fitting.dir/build.make:194: recipe for target 'run_fitting' failed
make[2]: *** [run_fitting] Error 1
CMakeFiles/Makefile2:182: recipe for target 'CMakeFiles/run_fitting.dir/all' failed
make[1]: *** [CMakeFiles/run_fitting.dir/all] Error 2
Makefile:103: recipe for target 'all' failed
make: *** [all] Error 2
I am getting this error while building the git. Please help.
Would it be possible to run with visualization and directly write the result to disk? I am running this in a docker image and getting the OpenGL to work proves to be troublesome.
Thanks a ton!
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
F0723 02:38:44.913983 47 cudnn_conv_layer.cu:28] Check failed: status == CUDNN_STATUS_SUCCESS (8 vs. 0) CUDNN_STATUS_EXECUTION_FAILED
*** Check failure stack trace: ***
@ 0x7f73db4365cd google::LogMessage::Fail()
@ 0x7f73db438433 google::LogMessage::SendToLog()
@ 0x7f73db43615b google::LogMessage::Flush()
@ 0x7f73db438e1e google::LogMessageFatal::~LogMessageFatal()
@ 0x7f73dab27a83 caffe::CuDNNConvolutionLayer<>::Forward_gpu()
@ 0x7f73daada8e1 caffe::Net<>::ForwardFromTo()
@ 0x7f73dce3acd7 op::NetCaffe::forwardPass()
@ 0x7f73dce151ca op::PoseExtractorCaffe::forwardPass()
@ 0x7f73dce0f875 op::PoseExtractor::forwardPass()
@ 0x7f73dce0ca96 op::WPoseExtractor<>::work()
@ 0x7f73dce85129 op::Worker<>::checkAndWork()
@ 0x7f73dce852cb op::SubThread<>::workTWorkers()
@ 0x7f73dce8dc6b op::SubThreadQueueInOut<>::work()
@ 0x7f73dce8807b op::Thread<>::threadFunction()
@ 0x7f73dc80ec80 (unknown)
@ 0x7f73dba6d6ba start_thread
@ 0x7f73dc27d41d clone
@ (nil) (unknown)
run_pipeline.sh: line 37: 44 Aborted (core dumped) ./build/examples/openpose/openpose.bin --face --hand --image_dir $dataDir/$seqName/raw_image --write_json $dataDir/$seqName/openpose_result --render_pose 0 --display 0 -model_pose BODY_25 --number_people_max 1
Does anyone knows the per-image time consuming of this method?
Thinks!
I managed to run the demo, run_pipeline.sh for the example_speech but I noticed that the results I got for the images in body_3d_frontal_tracking are different than what can be seen in the video demo. For example there is not face variation, the mouth remains always closed and a lot of the images show completely different poses which seems as if the temporal tracking is not really workin. I was wondering if there is a reason behind this, such as setting any parameter before running run_pipeline.sh and if there is something I can do to get the results as shown in the video demo?
After successful installation run
bash run_pipeline.sh example_dance
Everything seems to be ok and start running every frame like :
...
Start running frame No. 00000403
PAF_type 0
LK left hand failed.
LK right hand failed.
PAF_type 0
PAF_type 0
...
Then a window came out but immediately close and output:
Root Directory: /home/nd/MonocularTotalCapture/data
Sequence Name: example_dance
run_pipeline.sh: line 58: 16476 Segmentation fault (core dumped)
./build/run_fitting --root_dirs $dataDir --seqName $seqName --start 1 --end $((numFrame +1)) --stage 1 --imageOF
And I try to output bvh file by
./build/bvh
bvh: /home/nd/MonocularTotalCapture/FitAdam/src/simple.cpp:224: void readFrameParam(std::__cxx11::string, smpl::SMPLParams&): Assertion `f.good()' failed.
Aborted (core dumped)
Any help would be greatly appreciated.
Thanks for the great work! I run it on my laptop,and got the result pictures in a body_3d_frontal folder, however, I can't find the model files. How I can get the model? Is it a .obj file or something like that, so taht I can see it in 3D view?
Congrats for the great work. Do you know when the posefs1.perception.cs.cmu.edu server will be online again? Is there another way to get the files from the /mtc folder?
Thanks!
I have followed the instruction in the README and tried building the project . make
command fails after 95% completion with following error :
CMakeFiles/run_fitting.dir/run_fitting.cpp.o: In function `ceres::NormalPrior::~NormalPrior()': run_fitting.cpp:(.text._ZN5ceres11NormalPriorD2Ev[_ZN5ceres11NormalPriorD5Ev]+0xf): undefined reference to `vtable for ceres::NormalPrior' libMYLIB.a(simple.cpp.o): In function `ceres::AutoDiffCostFunction<smpl::PoseToTransformsNoLR_Eulers, 288, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(smpl::PoseToTransformsNoLR_Eulers*)': simple.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' simple.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xd7): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl27PoseToTransformsNoLR_EulersELi288ELi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(simple.cpp.o): In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': simple.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x33): undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x5d): undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x7b): undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x8a): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0xad): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()' libMYLIB.a(simple.cpp.o): In function `ceres::internal::AutoDiff<smpl::PoseToTransformsNoLR_Eulers, double, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(smpl::PoseToTransformsNoLR_Eulers const&, double const* const*, int, double*, double**)': simple.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' simple.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xc0): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl27PoseToTransformsNoLR_EulersEdLi72ELi72ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0x43a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(simple.cpp.o): In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* google::MakeCheckOpString<int, ceres::DimensionType>(int const&, ceres::DimensionType const&, char const*)': simple.cpp:(.text._ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x33): undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x5d): undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x7b): undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x8a): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()' simple.cpp:(.text._ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiN5ceres13DimensionTypeEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0xad): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()' libMYLIB.a(simple.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 144>, double, 72>(int, double const*, ceres::Jet<double, 144>*)': simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0x1f1): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi144EEEdLi72EEEviPKT0_PT_]+0x20e): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(simple.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 144>, double*>(int, ceres::Jet<double, 144> const*, double*)': simple.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi144EEEPdEEviPKT_T0_]+0x108): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(simple.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 144>, double, 0, 72>(int, ceres::Jet<double, 144> const*, double*)': simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x22a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi0ELi72EEEviPKT_PT0_]+0x247): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(simple.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 144>, double, 72, 72>(int, ceres::Jet<double, 144> const*, double*)': simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x22a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' simple.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi144EEEdLi72ELi72EEEviPKT_PT0_]+0x247): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(ModelFitter.cpp.o): In function `ModelFitter::ModelFitter(TotalModel const&)': ModelFitter.cpp:(.text+0x8b3): undefined reference to `ceres::Solver::Summary::Summary()' ModelFitter.cpp:(.text+0x9f5): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' ModelFitter.cpp:(.text+0xf0c): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' ModelFitter.cpp:(.text+0xfab): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' libMYLIB.a(ModelFitter.cpp.o): In function `ModelFitter::runFitting()': ModelFitter.cpp:(.text+0x250a): undefined reference to `ceres::Problem::Problem(ceres::Problem::Options const&)' ModelFitter.cpp:(.text+0x266c): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*, double*)' ModelFitter.cpp:(.text+0x271b): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' ModelFitter.cpp:(.text+0x278a): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' ModelFitter.cpp:(.text+0x2824): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' ModelFitter.cpp:(.text+0x28bd): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' ModelFitter.cpp:(.text+0x2951): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' ModelFitter.cpp:(.text+0x29ee): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' ModelFitter.cpp:(.text+0x2a24): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' ModelFitter.cpp:(.text+0x2c21): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' ModelFitter.cpp:(.text+0x2c5b): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' ModelFitter.cpp:(.text+0x2c78): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' ModelFitter.cpp:(.text+0x2d7c): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' ModelFitter.cpp:(.text+0x2dd9): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' ModelFitter.cpp:(.text+0x2e72): undefined reference to `ceres::Problem::~Problem()' ModelFitter.cpp:(.text+0x2ec8): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(ModelFitter.cpp.o): In function `ceres::ScaledLoss::ScaledLoss(ceres::LossFunction const*, double, ceres::Ownership)': ModelFitter.cpp:(.text._ZN5ceres10ScaledLossC2EPKNS_12LossFunctionEdNS_9OwnershipE[_ZN5ceres10ScaledLossC5EPKNS_12LossFunctionEdNS_9OwnershipE]+0x27): undefined reference to `vtable for ceres::ScaledLoss' libMYLIB.a(totalmodel.cpp.o): In function `ceres::AutoDiffCostFunction<smpl::PoseToTransformsNoLR_Eulers_adamModel, 930, 186, 186, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(smpl::PoseToTransformsNoLR_Eulers_adamModel*)': totalmodel.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' totalmodel.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xd7): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl37PoseToTransformsNoLR_Eulers_adamModelELi930ELi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(totalmodel.cpp.o): In function `ceres::internal::AutoDiff<smpl::PoseToTransformsNoLR_Eulers_adamModel, double, 186, 186, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(smpl::PoseToTransformsNoLR_Eulers_adamModel const&, double const* const*, int, double*, double**)': totalmodel.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' totalmodel.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xc0): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl37PoseToTransformsNoLR_Eulers_adamModelEdLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0x43a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(totalmodel.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 372>, double, 186>(int, double const*, ceres::Jet<double, 372>*)': totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0x1f4): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi372EEEdLi186EEEviPKT0_PT_]+0x211): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(totalmodel.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 372>, double*>(int, ceres::Jet<double, 372> const*, double*)': totalmodel.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi372EEEPdEEviPKT_T0_]+0x108): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(totalmodel.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 372>, double, 0, 186>(int, ceres::Jet<double, 372> const*, double*)': totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x21f): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi0ELi186EEEviPKT_PT0_]+0x23c): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(totalmodel.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 372>, double, 186, 186>(int, ceres::Jet<double, 372> const*, double*)': totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x21f): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' totalmodel.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi372EEEdLi186ELi186EEEviPKT_PT0_]+0x23c): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `ceres::AutoDiffCostFunction<smpl::PoseToTransformsHand, 504, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(smpl::PoseToTransformsHand*)': handm.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' handm.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0xd7): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS2_[_ZN5ceres20AutoDiffCostFunctionIN4smpl20PoseToTransformsHandELi504ELi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS2_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `ceres::internal::AutoDiff<smpl::PoseToTransformsHand, double, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(smpl::PoseToTransformsHand const&, double const* const*, int, double*, double**)': handm.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' handm.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xc0): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_[_ZN5ceres8internal8AutoDiffIN4smpl20PoseToTransformsHandEdLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS3_PKPKdiPdPSB_]+0x446): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 126>, double, 63>(int, double const*, ceres::Jet<double, 126>*)': handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0x206): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi126EEEdLi63EEEviPKT0_PT_]+0x223): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 126>, double*>(int, ceres::Jet<double, 126> const*, double*)': handm.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi126EEEPdEEviPKT_T0_]+0x10e): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 126>, double, 0, 63>(int, ceres::Jet<double, 126> const*, double*)': handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x22d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi0ELi63EEEviPKT_PT0_]+0x24a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(handm.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 126>, double, 63, 63>(int, ceres::Jet<double, 126> const*, double*)': handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x22d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' handm.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi126EEEdLi63ELi63EEEviPKT_PT0_]+0x24a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `FreezeJoint(ceres::Problem&, double*, int)': FitToBody.cpp:(.text+0xd5): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0xfe): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' libMYLIB.a(FitToBody.cpp.o): In function `SetSolverOptions(ceres::Solver::Options*)': FitToBody.cpp:(.text+0x167): undefined reference to `ceres::StringToLinearSolverType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::LinearSolverType*)' FitToBody.cpp:(.text+0x195): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0x1a6): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0x1f2): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x24a): undefined reference to `ceres::StringToPreconditionerType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::PreconditionerType*)' FitToBody.cpp:(.text+0x278): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0x289): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0x2d5): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x376): undefined reference to `ceres::StringToTrustRegionStrategyType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::TrustRegionStrategyType*)' FitToBody.cpp:(.text+0x3a4): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0x3b5): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0x401): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x448): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x48b): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x4ce): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `FitToHandCeres_Right_Naive(smpl::HandModel&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, Eigen::Matrix<double, -1, 3, 1, -1, 3>&, Eigen::Matrix<double, -1, 3, 1, -1, 3>&, int, bool, bool, float, float)': FitToBody.cpp:(.text+0x58e): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x699): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x73f): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x89f): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x921): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xa07): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0xa7a): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xadd): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0xb2b): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0xb79): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0xc9a): undefined reference to `ceres::StringToLinearSolverType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::LinearSolverType*)' FitToBody.cpp:(.text+0xccb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0xcdf): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0xd2e): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0xd5b): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0xd7f): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0xd9f): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0xdb8): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0xe13): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' FitToBody.cpp:(.text+0xe33): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0xe4c): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0xee9): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0xfc8): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x1093): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `FitToProjectionCeres(smpl::HandModel&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, double const*, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, Eigen::Matrix<double, -1, 3, 1, -1, 3>&, Eigen::Matrix<double, -1, 3, 1, -1, 3>&, int, bool, bool, double, int)': FitToBody.cpp:(.text+0x1136): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x11fb): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x12e7): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x1447): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x14d7): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x15cd): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x161b): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x1669): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x16b5): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x1703): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x1751): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x17d8): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x1804): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x1828): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x1854): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x18a0): undefined reference to `ceres::StringToLinearSolverType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::LinearSolverType*)' FitToBody.cpp:(.text+0x18d1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0x18e5): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0x1934): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x1961): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x1981): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x199a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x19e0): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x1ac0): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x1b81): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x1ce1): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x1d71): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x1dd1): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x1e55): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x1eb8): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x1f06): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x1f54): undefined reference to `ceres::Problem::SetParameterLowerBound(double*, int, double)' FitToBody.cpp:(.text+0x1fa0): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x1fee): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x203c): undefined reference to `ceres::Problem::SetParameterUpperBound(double*, int, double)' FitToBody.cpp:(.text+0x20e5): undefined reference to `ceres::StringToLinearSolverType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceres::LinearSolverType*)' FitToBody.cpp:(.text+0x2116): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text+0x212a): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text+0x2179): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x21a6): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x21d0): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x21fc): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x2220): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x224c): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x226c): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x2285): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x23b5): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x2400): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x24b8): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x25c2): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text+0x263d): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x26a1): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_FitTotalBodyCeres(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&)': FitToBody.cpp:(.text+0x27f0): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x2890): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x2925): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x29b8): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x29d6): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x2a59): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x2a72): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x2b01): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x2b1a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x2b95): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x2bae): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x2c18): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x2d07): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_FitTotalBodyCeres2d(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, double*)': FitToBody.cpp:(.text+0x2dd5): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x2ea5): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x2ec3): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x2f53): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x2f7d): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x2f9d): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x2fb6): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x30a3): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3151): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3192): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' FitToBody.cpp:(.text+0x31bc): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' FitToBody.cpp:(.text+0x31dc): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x31f5): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x3241): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x325f): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x334c): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*, double*)' FitToBody.cpp:(.text+0x3400): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x34ae): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x355e): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x35ae): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x35c7): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x3631): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x365e): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x376c): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x37a8): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_FitTotalBodyCeres3d2d(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, double*)': FitToBody.cpp:(.text+0x3846): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x3916): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x3934): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x39df): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x3a09): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x3a29): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x3a42): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x3b2f): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3bdd): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3c1e): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' FitToBody.cpp:(.text+0x3c48): undefined reference to `ceres::Problem::SetParameterBlockVariable(double*)' FitToBody.cpp:(.text+0x3c68): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x3c81): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x3ccd): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x3ceb): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x3dd8): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*, double*)' FitToBody.cpp:(.text+0x3e8c): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3f3a): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x3fea): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x4062): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x408f): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x4186): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x41c2): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_FastFit_Initialize(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&)': FitToBody.cpp:(.text+0x4311): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x43b1): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x4446): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x44d9): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x4613): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x4696): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x46af): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x473e): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x4757): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x47d2): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x47eb): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x4855): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x4944): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_FastFit(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, bool)': FitToBody.cpp:(.text+0x4adb): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*)' FitToBody.cpp:(.text+0x4bbd): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x5010): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x50a6): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x50c8): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x5125): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x5147): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' libMYLIB.a(FitToBody.cpp.o): In function `Adam_Fit_PAF(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, double*, unsigned int, bool, bool, bool, bool)': FitToBody.cpp:(.text+0x53e1): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x54e5): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x5503): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x55a2): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x55bb): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x568d): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x57db): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x595d): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x59f4): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x5d29): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x5dc0): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x5e31): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x5e4a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x5f97): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x5fd1): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x6116): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*, double*)' FitToBody.cpp:(.text+0x6186): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x61a4): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x6251): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x626a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x6351): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x63e4): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x6566): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x65fd): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x6932): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x69c9): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x6a6b): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x6b04): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x6eca): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x6ee3): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x702f): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x7048): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x721d): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x736c): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x74fc): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_Fit_H36M(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&)': FitToBody.cpp:(.text+0x7558): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x7822): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x7840): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x78d3): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x78ec): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x79be): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x7a51): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x7ab3): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x7acc): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x7bae): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x7cf9): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_skeletal_refit(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, unsigned int, bool, bool)': FitToBody.cpp:(.text+0x7e67): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x7e85): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x7eef): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x7fc5): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8080): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8118): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8288): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x830e): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8643): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0x86da): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x87ad): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0x87ff): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x8851): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x886a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x88e5): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x88fe): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x8968): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x8ad1): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_skeletal_init(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, unsigned int)': FitToBody.cpp:(.text+0x8c7c): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x8c9a): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x8d04): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x8d97): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x8db0): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x8e82): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8f15): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x8f67): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x8f80): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x900f): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x9028): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x9092): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x9172): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_align_mano(TotalModel&, smpl::SMPLParams&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&)': FitToBody.cpp:(.text+0x95e3): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x9601): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x966b): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0x9741): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x97c3): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0x9987): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x99a0): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x9a11): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0x9a2a): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0x9a94): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0x9bba): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `Adam_refit_batch(TotalModel&, std::vector<smpl::SMPLParams*, std::allocator<smpl::SMPLParams*> >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, unsigned int, bool, bool, bool)': FitToBody.cpp:(.text+0x9d54): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0x9d72): undefined reference to `ceres::Solver::Summary::Summary()' FitToBody.cpp:(.text+0x9fe8): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)' FitToBody.cpp:(.text+0xa0e6): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xa1d1): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xa5fe): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0xa698): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xa6f3): undefined reference to `ceres::NormalPrior::NormalPrior(Eigen::Matrix<double, -1, -1, 1, -1, -1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&)' FitToBody.cpp:(.text+0xa79e): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)' FitToBody.cpp:(.text+0xa9c5): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' FitToBody.cpp:(.text+0xaa3e): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' FitToBody.cpp:(.text+0xaab7): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' FitToBody.cpp:(.text+0xab30): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' FitToBody.cpp:(.text+0xabcc): undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' libMYLIB.a(FitToBody.cpp.o):FitToBody.cpp:(.text+0xac63): more undefined references to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)' follow libMYLIB.a(FitToBody.cpp.o): In function `Adam_refit_batch(TotalModel&, std::vector<smpl::SMPLParams*, std::allocator<smpl::SMPLParams*> >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, std::vector<Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::allocator<Eigen::Matrix<double, -1, -1, 0, -1, -1> > >&, unsigned int, bool, bool, bool)': FitToBody.cpp:(.text+0xaec7): undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)' FitToBody.cpp:(.text+0xb055): undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)' FitToBody.cpp:(.text+0xb06e): undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const' FitToBody.cpp:(.text+0xb194): undefined reference to `ceres::Problem::~Problem()' FitToBody.cpp:(.text+0xb393): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `__static_initialization_and_destruction_0(int, int)': FitToBody.cpp:(.text+0xc2dd): undefined reference to `ceres::Problem::Problem()' FitToBody.cpp:(.text+0xc2f5): undefined reference to `ceres::Problem::~Problem()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::AutoDiffCostFunction<CoeffsParameterNorm, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(CoeffsParameterNorm*)': FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xd7): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::AutoDiffCostFunction<HandPoseParameterNorm, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(HandPoseParameterNorm*)': FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xd7): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI21HandPoseParameterNormLi63ELi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::AutoDiffCostFunction<CoeffsParameterNorm, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(CoeffsParameterNorm*)': FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xd7): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi30ELi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::AutoDiffCostFunction<AdamBodyPoseParamPrior, 186, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(AdamBodyPoseParamPrior*)': FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xd7): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI22AdamBodyPoseParamPriorLi186ELi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::AutoDiffCostFunction<CoeffsParameterNorm, 200, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0>::AutoDiffCostFunction(CoeffsParameterNorm*)': FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xcb): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0xd7): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x101): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC2EPS1_[_ZN5ceres20AutoDiffCostFunctionI19CoeffsParameterNormLi200ELi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EEC5EPS1_]+0x10d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::internal::AutoDiff<CoeffsParameterNorm, double, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(CoeffsParameterNorm const&, double const* const*, int, double*, double**)': FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xc0): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi200ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0x3ce): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::internal::AutoDiff<AdamBodyPoseParamPrior, double, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(AdamBodyPoseParamPrior const&, double const* const*, int, double*, double**)': FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xc0): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI22AdamBodyPoseParamPriordLi186ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0x3ce): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::internal::AutoDiff<CoeffsParameterNorm, double, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(CoeffsParameterNorm const&, double const* const*, int, double*, double**)': FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xc0): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi30ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0x3da): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::internal::AutoDiff<HandPoseParameterNorm, double, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(HandPoseParameterNorm const&, double const* const*, int, double*, double**)': FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xc0): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI21HandPoseParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0x3cc): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `ceres::internal::AutoDiff<CoeffsParameterNorm, double, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(CoeffsParameterNorm const&, double const* const*, int, double*, double**)': FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xb1): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xc0): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0xcf): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_[_ZN5ceres8internal8AutoDiffI19CoeffsParameterNormdLi63ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0ELi0EE13DifferentiateERKS2_PKPKdiPdPSA_]+0x3cc): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 200>, double, 200>(int, double const*, ceres::Jet<double, 200>*)': FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0x1f4): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi200EEEdLi200EEEviPKT0_PT_]+0x211): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 200>, double*>(int, ceres::Jet<double, 200> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi200EEEPdEEviPKT_T0_]+0x108): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 200>, double, 0, 200>(int, ceres::Jet<double, 200> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x235): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi200EEEdLi0ELi200EEEviPKT_PT0_]+0x252): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 186>, double, 186>(int, double const*, ceres::Jet<double, 186>*)': FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0x1f4): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi186EEEdLi186EEEviPKT0_PT_]+0x211): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 186>, double*>(int, ceres::Jet<double, 186> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi186EEEPdEEviPKT_T0_]+0x108): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 186>, double, 0, 186>(int, ceres::Jet<double, 186> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x21f): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi186EEEdLi0ELi186EEEviPKT_PT0_]+0x23c): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 30>, double, 30>(int, double const*, ceres::Jet<double, 30>*)': FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0x206): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi30EEEdLi30EEEviPKT0_PT_]+0x223): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 30>, double*>(int, ceres::Jet<double, 30> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi30EEEPdEEviPKT_T0_]+0x10e): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 30>, double, 0, 30>(int, ceres::Jet<double, 30> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x22d): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi30EEEdLi0ELi30EEEviPKT_PT0_]+0x24a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 63>, double, 63>(int, double const*, ceres::Jet<double, 63>*)': FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0xe2): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0xf3): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0x13a): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0x1f1): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_[_ZN5ceres8internal24Make1stOrderPerturbationINS_3JetIdLi63EEEdLi63EEEviPKT0_PT_]+0x20e): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 63>, double*>(int, ceres::Jet<double, 63> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_]+0x56): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_]+0x67): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_]+0xae): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_[_ZN5ceres8internal16Take0thOrderPartINS_3JetIdLi63EEEPdEEviPKT_T0_]+0x108): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' libMYLIB.a(FitToBody.cpp.o): In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 63>, double, 0, 63>(int, ceres::Jet<double, 63> const*, double*)': FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x65): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x76): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0xc3): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0xfa): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x10b): undefined reference to `google::LogMessage::stream()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x158): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x226): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' FitToBody.cpp:(.text._ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_[_ZN5ceres8internal16Take1stOrderPartINS_3JetIdLi63EEEdLi0ELi63EEEviPKT_PT0_]+0x243): undefined reference to `google::LogMessageFatal::~LogMessageFatal()' collect2: error: ld returned 1 exit status CMakeFiles/run_fitting.dir/build.make:122: recipe for target 'run_fitting' failed make[2]: *** [run_fitting] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/run_fitting.dir/all' failed make[1]: *** [CMakeFiles/run_fitting.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
Please someone guide me how can i fix this. Thanks in advance. @xiangdonglai
After running run_pipelines.sh
, I got results in body_3d_frontal_tracking
directory as below.
According to writeFrameParam, this seems like parameters for Adam.
I found c++ scripts (BVHWriter.cpp and BVHWriter.h) for writing skeletons in BVH format. However, these scripts do not seem to be used in this project.
Is there a way that I can get motion captures in BVH or any format that can be used in 3D rendering tools (ex. Blender)?
I thank you for the greatest work, "Monocular Total Capture: Posing Face, Body and Hands in the Wild." Especially, I saw your motion retargeting result in YouTube and it was so amazing!!
Could you tell me how to convert your motion capture output (0000.txt) to a blender-readable format (e.g. .BVH) for motion retargeting? It would be really really grateful if you share just one .BVH or .FBX file for the Mixamo template as demonstrated in the Youtube video.
Hopefully I can reproduce/extend the motion retargeting part based on your Adam model. Thank you.
Hi, thanks for your amazing work! I'm a rookie in the pose estimation. In the paper I have read about 3D pose estimation, it seems that the 3D trajectory can't be handled well because the prediction pose is in the camera world. But your amazing work can handle it well in the video, would you mind telling me which part is the most import for overcoming this? Thanks a lot!
(MonocularTotalCapture) lwk@lwk:/MonocularTotalCapture$ bash run_pipeline.sh example_dance
Camera intrinsics not specified, use default.
'POF/calib.json' -> '/home/lwk/MonocularTotalCapture/data/example_dance/calib.json'
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.2.0 (crosstool-NG fa8859cb)
configuration: --prefix=/home/lwk/.conda/envs/MonocularTotalCapture --cc=/opt/conda/conda-bld/ffmpeg_1531088893642/build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --enable-shared --enable-static --enable-zlib --enable-pic --enable-gpl --enable-version3 --disable-nonfree --enable-hardcoded-tables --enable-avresample --enable-libfreetype --disable-openssl --disable-gnutls --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --disable-libx264
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'example_dance.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Duration: 00:00:16.08, start: 0.000000, bitrate: 4619 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 4485 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'raw_image/example_dance%08d.png':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.12.100
Stream #0:0(eng): Video: png, rgb24, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc58.18.100 png
frame= 402 fps= 45 q=-0.0 Lsize=N/A time=00:00:16.08 bitrate=N/A speed= 1.8x
video:849491kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Starting OpenPose demo...
Configuring OpenPose...
Starting thread(s)...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
OpenPose demo successfully finished. Total time: 49.841117 seconds.
Openpose output collected: data dimension:
(402, 402, 402, 402, 402, 402)
set bscale2d constant
2019-11-29 15:27:47.802354: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2019-11-29 15:27:48.434013: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:895] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-11-29 15:27:48.434294: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 0 with properties:
name: GeForce RTX 2080 Ti major: 7 minor: 5 memoryClockRate(GHz): 1.545
pciBusID: 0000:01:00.0
totalMemory: 10.76GiB freeMemory: 10.60GiB
2019-11-29 15:27:48.434308: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)
Discarded 371 items
Initialized 184 variables from ./snapshots/Final_qual_domeCOCO_chest_noPAF2D/model-390000.
Discarded 371 items
Initialized 184 variables from ./snapshots/Final_qual_hand_clear_zoom/model-160000.
Start running frame No. 00000001
-1
run_pipeline.sh: line 51: 5400 Killed python3 save_total_sequence.py -s $seqName -p $dataDir/$seqName $upperBody
(MonocularTotalCapture) lwk@lwk:/MonocularTotalCapture$
what's the problem here?
bheatmap_2d, bPAF = [np.squeeze(_) for _ in sess.run([data['bheatmap_2d'], data['bPAF']], feed_dict={data['bimage_crop']: bimage_crop_v_feed})]
Is it because this program makes 3d keypoints bvh file vs 2d key points from openpose.
I really do not know much about this type of program, I am more focused on using the application to send to unity, so pleasebe patient if I don't understand the terminology
in bash download.sh,it will download "mtc_snapshots.zip",but there is a error while extracting the file.
the size of mine is 1,260,719,782 bytes.Is the size right?
Thanks a lot!
Hello,
thank you for your method. I tried the examples, and everything worked well except for the facial animation. I don't know why but the facial expression is not detected.
Please, do you know why this is happenning?
Thank you,
James
Hello,
I am wandering if I could train the net by myself. I have run MonocularTotalCapture and it performed well. As a result, I am interested in training MTC locally.
hello,
I have a problem,
I compiled the OpenCV 2.4.13,but it didn't have opencv2/core/cuda.hpp, I don't know why!
please help me.
With regarding to the formula of "AngleAxisToRotationMatrixDerivative", is there any more clear references ? I have found some references, but I cannot figure out them with the source code. Thank you so much !
Is there any progress since #11 to run the model on remote server? @xiangdonglai
There are many 1080
, 1920
s in your code. It's a bit difficult to apply this model to other videos with different resolution.
Can you provide any information about the re-targeting in Unity?
I observed the your code outputs a bvh files.
Are the bvh files directly imported and mapped to Unity's mechanim animation system?
Thanks in advance.
hi
I am trying to compile the project. Got everything installed (I think) but when running cmake I have this GFlags related error, which I do not understand since 1) libgflags-dev is already installed and 2) cmake reports abit before the error "Detected gflags version: 2.2.1".
After googling this one, advice are always the same: install the gflags lib first dude! but I have done that already and I am still stuck. Not sure if I need to tweak a cmake file somewhere in the project.
Do you have an idea on this roadblock? thanks.
Ubuntu 18.04
Cmake 3.10.2
Gflags lib v2.2.1-1
`-- The C compiler identification is GNU 5.5.0
-- The CXX compiler identification is GNU 5.5.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda-9.0 (found suitable exact version "9.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'eigen3'
-- Found eigen3, version 3.3.4
-- Found OpenMP_C: -fopenmp (found version "4.0")
-- Found OpenMP_CXX: -fopenmp (found version "4.0")
-- Found OpenMP: TRUE (found version "4.0")
-- Found installed version of Eigen: /usr/lib/cmake/eigen3
-- Found required Ceres dependency: Eigen version 3.3.4 in /usr/include/eigen3
-- Found required Ceres dependency: glog
-- Found installed version of gflags: /usr/lib/x86_64-linux-gnu/cmake/gflags
-- Detected gflags version: 2.2.1
-- Found required Ceres dependency: gflags
-- Found Ceres version: 2.0.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, CXSparse, SchurSpecializations]
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Found GLEW: /usr/include
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- system
-- filesystem
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find GFlags (missing: GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/Modules/FindGFlags.cmake:41 (find_package_handle_standard_args)
CMakeLists.txt:31 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/tets/MonocularTotalCapture/FitAdam/build/CMakeFiles/CMakeOutput.log".
See also "/home/tets/MonocularTotalCapture/FitAdam/build/CMakeFiles/CMakeError.log".
`
Which CUDA and cuDNN versions did you use for the build?
I am trying to compile with CUDA 10.1 and it seems like OpenCV 2.4.13 has some troubles with this version.
What are the versions of OpenCV / Cuda used in this project?
In the the current Dependency list OpenCV appears twice.
However, Python 3 has been supported since OpenCV > 3.
Did you install two different OpenCV?
Specifically,
Hi guys,
in the paper's section 4, after the definition of POF, it was said this paper use 3 channels to estimate POF instead of 2 in OpenPose. it didnot show how to estimate the depth “z" from the single rgb image, does it from the dataset groundtruth?
Hello,
I am very curious about where is the “openpose_body_3DPAF_randomz_headtop_chest.npy” mentioned in "training_e2e_PAF.py". And I am wondering why "snapshots/PAF_body_headtop_domehumanCOCO_chest_noPAF/model-100000" is not found if fine_tune is true.
remove me
Could you provide the OpenCV 2.4.13
Hi.
First of all, thank you very much for your great work!
While I was making FitAdam, (make -j12 as instructed),
It looks like meshTrackingProj.cpp seems to cause problem.
In import statement,
#include "opencv2/gpu/gpu.hpp"
looks deprecated for opencv versions over 3.4 (I'm using 3.4. Couldn't install 2.4.13 since it is not compatible with my CUDA version)
What is meshTrackingProj.cpp used for? is it crucial for rendering Adam model?
Thank you.
I want to run this program on a remote server, I commented it out the content related to render in meshTrackingProj.cpp ,it Can run successfully, but the generated result is different from that without commenting out the render. I read the code and can't find the effect of render on the result. Can you help me.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.