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

Reply via email to