Hi Jeon,
This looks very proper, but since gr-dvbt doesn't supply a pkgconfig
(.pc) file, you can't use pkg_check_modules; the raw find_library call
you use should work, though.
also, you set DVBT_LIBRARY, so you'll have to use
target_link_libraries(gnuradio-mymodule ${DVBT_LIBRARY})
(notice the singular LIBRARY).
Greetings,
Marcus
On 03/31/2015 04:37 PM, Jeon wrote:
> Dear, Marcus.
>
> Thanks, it's very helpful. But, stil somethings unresolved.
>
> What I've done is:
>
> In CMakeLists.txt of root:
>
> find_package(DVBT)
> if (NOT DVBT_FOUND) /* ommited */ endif()
> include_directories(
> /* omitted */
> ${DVBT_INCLUDE_DIR}
> )
>
> Add
> cmake/Modules/[FindDVBT.cmake](https://gist.github.com/gsongsong/49ec2cf84d7907c7ceb0).
> It's quite long.
> And I found that shared object (so) is libgnuradio-dvbt.so.
>
> In lib/CMakeLists.txt:
>
> target_link_libraries(gnuradio-mymodule ${DVBT_LIBRARIES})
>
> A result of build and installation is:
>
> pkg_check_modules(PC_DVBT gnuradio-dvbt): returns package
> 'gnuradio-dvbt' not found
>
> Although I've changed gnuradio-dvbt to gr-dvbt, dvbt gnuradio_dvbt,
> gr_dvbt, libgnuradio-dvbt and other possible combinations, nothings
> different.
>
> But DVBT_LIBRARY returns /usr/local/lib/libgnuradio-dvbt.so and
> DVBT_INCLUDE_DIR returns /usr/local/include.
> I think this part is correct.
>
> And in python:
>
> >>> import mymodule
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File
> "/usr/local/lib/python2.7/dist-packages/myOOTmodule/__init__.py", line
> 51, in <module>
> from myOOTmodule_swig import *
> File
> "/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py",
> line 28, in <module>
> _myOOTmodule_swig = swig_import_helper()
> File
> "/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py",
> line 24, in swig_import_helper
> _mod = imp.load_module('_myOOTmodule_swig', fp, pathname,
> description)
> ImportError: /usr/local/lib/libgnuradio-myOOTmodule.so: undefined
> symbol: _ZN2gr4dvbt12reed_solomonC1Eiiiiiiii
>
> It is the same as the previous.
>
> .........
>
> After some googling and searching, I found that gr-dvbt is not present
> in 'pkg-config --list-all'.
> I think it would be a bit relevant to this problem.
> If it is the case, I'd better think to use IT++ Reed Solomon.
>
> I'll let you know if I have further progress.
>
> Regards,
> Jeon.
>
>
>
> 2015-03-31 18:32 GMT+09:00 Marcus Müller <[email protected]
> <mailto:[email protected]>>:
>
> Hi Jeon,
>
> typically, you'd call a FindSomething function in the root CMakeList
>
> find_library(GR_DVBT_LIBRARY
> NAMES
> gnuradio-dvbt
> PATHS
> /usr/lib
> /usr/local/lib
> /opt/local/lib
> /sw/lib
> )
> or so. I guess "gnuradio-dvbt.so" should be the name of the installed
> gr-dvbt library -- please verify that this is correct.
>
> Then add the resulting library name to the target_link_libraries
> directive in lib/CMakeList.txt:
>
> target_link_libraries(<project_name> ${Boost_LIBRARIES}
> ${GNURADIO_ALL_LIBRARIES} ${GR_DVBT_LIBRARY})
> and
> target_link_libraries(test-<project_name> ${Boost_LIBRARIES}
> ${GNURADIO_ALL_LIBRARIES} ${GR_DVBT_LIBRARY} <project_name>)
>
> How is CMake able to find the headers you need to compile your module?
> If you have written functionality to detect these headers, you can
> probably do the same for the compiled gr-dvbt libraries.
>
> Greetings,
> Marcus
>
>
>
> On 03/31/2015 08:11 AM, Jeon wrote:
> >
> > Or maybe I can handle it if you give me some details about
> CMakeLists.
> > As you know, there are a number of CmakeLists in the project. Can it
> > be done by modifying and fixing CMakeLists.txt under swig, python or
> > project root directory?
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected] <mailto:[email protected]>
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio