artursg/RUNEtag

build almost works ... help me solve this last issue?

Closed this issue · 5 comments

Hi,

trying to get this tag system compiled for a project i'm working on... (Mac OS X 10.13)
made some changes to update code to opencv 4.5.0. successfully compiled RUNETag, and I have a liblibRuneTag.a working. the codegen step worked, and I have the 17000 codes generated in the codes.txt
and almost done compiling - just have this one error in RUNETagGenerator:

[  9%] Automatic MOC for target RUNETagGenerator
[  9%] Built target RUNETagGenerator_autogen
[ 18%] Building CXX object CMakeFiles/RUNETagGenerator.dir/TagCode.cpp.o
/Users/Vishesh/repos/tui-table/tags/RUNEtag/RUNETagGenerator/TagCode.cpp:2:10: fatal error:
      'coding.h' file not found
#include "coding.h"
         ^~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/RUNETagGenerator.dir/TagCode.cpp.o] Error 1
make[1]: *** [CMakeFiles/RUNETagGenerator.dir/all] Error 2
make: *** [all] Error 2

I can't figure out how coding.h, which is in the RUNETag folder, is getting included into this project
Am I supposed to copy it somehow? I can't understand how the linker is supposed to find the symbols though.

Hm...
so I don't have any path like \thirdparty\runetag\1.0\prebuild\include\coding.h
I have just cloned the files from this repo into a directory, ran cmake on the RUNETag part, and then make.
Then ran codegen
Now switched to RUNETagGenerator and did the same thing: mkdir build && cd build, cmake .., make

the file coding.h is located at ../../RUNETag/include/coding.h
and there's also ../../RUNETag/build/liblibRUNETag.a which I'm sure I will need at some point but unclear how.

How can I have these includes used in the compilation?

Hi Gerard,

Returning to this after a while, and I figured out one mistake I was making - I had to run make install to get the libraries put in the top level dist directory. Now RUNETagGenerator should, in theory, be able to find and compile everything. I'm able to build out to 72% now ...

I see this for include directories:

INCLUDE_DIRECTORIES(
					 "${PROJECT_SOURCE_DIR}/../../dist/include"
				     ${OpenCV_INCLUDE_DIRS}
					 )
#                     ${LIBMULTISPEC_CONF_INCLUDE_DIR}
#                     ${LIBMULTISPEC_INCLUDE_DIR}
#                     ${Boost_INCLUDE_DIRS}
#					 ${QWT_INCLUDE_DIR}
#					 ${POCO_FOUNDATION_INCLUDE_DIRS}
#					 )
RUNETag/RUNETagGenerator/build $ ls ../../dist/include
NTL/                    ellipsedetector.hpp     hirestimer.hpp          runetag.hpp
auxmath.hpp             ellipsefitter.hpp       imgtextstream.hpp       slot.hpp
auxrenderer.hpp         ellipsepoint.hpp        markerdetected.hpp      slotfitter.hpp
coding.h                ellipserefine.hpp       markerdetector.hpp
digitalmarkermodel.hpp  fpscounter.hpp          markerpose.hpp

So everything is there... now why doesn't this build?

I tried both #include "coding.h" and #include <coding.h>

Any help is welcome, thank you in advance.

I have managed to get it to work after playing around with the CMakeLists.txt file.
I am closing this issue.