(Swigwin issue)

Following up this message https://lists.gnu.org/archive/html/discuss-gnuradio/2016-07/msg00108.html
With another question.

My goal was to sort out all the dependecies and paths to succesfully automate the process.
When done I will share my findings.

In short, I did this:

- Installed Geof's win64 by msi, Cmake 3.3, VS2015 (community edition).
- Copied the dependecies from Geof's 'GNURadio_Windows_Build_Scripts' after running it once: CppUnit, Boost, Swig, pkg-config.
- Used Gavin's tips to automate the gr-modtool New & Add functionality.
- Created a new terminal link, called: "Gnuradio modtool prompt", implementing:

   * The orginal "Gnuradio command prompt"
   * The the "vs 2015 win64 prompt".
   * Added path's for the dependecies statically. (For better control).

- Created .bat files for cmake & build.

(As example project I converted the gr-pager modules to OOT code)


1. Create OOT (MT_New.bat)
2. Add module 'pager2' (MT_Add.bat)
3. Insert converted pager code.
4. Cmake (CCmake.bat)
5. Build (Build.bat)

For readabillity i won't post the complete output, but step 4 gives me some warnings (4x) i don't understand (Maybe linked to the error in step 5):

CMake Warning (dev) at cmake/Modules/UseSWIG.cmake:300 (target_link_libraries):
  Link library type specifier "optimized" is followed by specifier "debug"
  instead of a library name.  The first specifier will be ignored.
Call Stack (most recent call first):
  cmake/Modules/GrSwig.cmake:174 (SWIG_LINK_LIBRARIES)
  swig/CMakeLists.txt:50 (GR_SWIG_MAKE)
This warning is for project developers.  Use -Wno-dev to suppress it.

But the result:

-- Configuring done
-- Generating done
-- Build files have been written to: F:/grc/OOT modules/gr-pager2/build

Step 5 produces 1 error:


building ZERO_CHECK => Succes
building gnuradio-pager2 => Succes!!!

building pager2_swig_swig_2d0df,
   is building _pager2_swig_swig_tag,
   is building pager2_swig_swig_doc,
   is building _pager2_swig_doc_tag  => Succes


CUSTOMBUILD : error : tag OUTPUT_DIRECTORY: Output directory
does not exist and cannot be created [F:\grc\OOT modules\gr-pager2\build\swig\pager2_swig_swig_doc.vcxproj]

That folder exists and is readable/writable (It holds a doxygen file and a /xml subfolder), but following the naming conventions (These folders names reflects the project names), something is wrong: there is no project named 'pager2_swig_doc_swig_docs'.

Do not know how to fix this, but think it should be : "_pager2_swig_swig_doc"

Okay.... so.... ignored it and inserted the .dll, .lib, block xml in GRC, almost worked!
Blocks are visible and insertable, but starting the flowgraph is throws:

'module' object has no attribute <blockname>

Googling on that it's told "Your modules is not propery swigged", that makes sense, given the errors.


Someone got clue to overcome this bump?

Thanks in Advance,

Imre Biacsics

Discuss-gnuradio mailing list

Reply via email to