1 Reply Latest reply on Feb 27, 2015 12:12 AM by Thierry Leloup

    Failed to build win32 app with audiocapture extension with Rhodes 5.0.25

    Thierry Leloup

      Hello everybody,


      After two days of hard work (I got some problems even though I followed Rhodes online docs because, amongst others, of the damned "atlbase.h no such file or directory" issue"...), I was finally able to build a win32 app (.exe and setup.exe) with Visual Studio express 2012, QT 5.1.1 and WDK 7.1.0 (only for atl files).


      BTW, in order to do that, I had to patch a Rhodes file because compilation failed in ....\rhodes-5.0.25\platform\shared\common\map\BaseMapEngine.cpp (line 969) : setZoom(std::min(zoom1, zoom2)) : min is not defined...

      So, I had to had the following lines in this file :

      #ifndef max

      #define max(a,b) (((a) > (b)) ? (a) : (b))


      #ifndef min

      #define min(a,b) (((a) < (b)) ? (a) : (b))


      and it worked alright.


      But, and this is the point of my post, I had to remove "audio capture" from the extensions. I know audio capture is not supported on win32 platforms but, IMHO, it should not prevent the project to compile. The error was the following one :

      C:\Ruby21-x64\lib\ruby\gems\2.1.0\gems\rhodes-5.0.25\lib\commonAPI\audiocapture\ext>if "win32" == "win32" (

      call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\vcvarsall.bat" x86        

      cd platform\qt                                                                                            

      rake --trace                                                                                              


      (in C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rhodes-5.0.25)                                                  

      cd C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rhodes-5.0.25                                                    

      rake aborted!                                                                                              

      Don't know how to build task 'default'                                                                     

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/task_manager.rb:49:in `[]'                                               

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:148:in `invoke_task'                                      

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:106:in `block (2 levels) in top_level'                    

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:106:in `each'                                             

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:106:in `block in top_level'                               

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:115:in `run_with_threads'                                 

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:100:in `top_level'                                        

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:78:in `block in run'                                      

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:165:in `standard_exception_handling'                      

      C:/Ruby21-x64/lib/ruby/2.1.0/rake/application.rb:75:in `run'                                               

      C:/Ruby21-x64/bin/rake:33:in `<main>'                                                                      

      rake aborted!                                                                                              



      My question is : I know audio capture is not supported for win32 platforms but it should not prevent to build the app under windows.

      So, is it possible either to build win32 app with audiocapture extension or is it a way to explicitly indicates in the build.yml that this extension should not be used for win32 builds ?




        • Re: Failed to build win32 app with audiocapture extension with Rhodes 5.0.25
          Thierry Leloup

          I finally found the answer and it is really easy . (always easy once you got the answer !)


          I found out the "extensions" can be set either as general information or by platform. So, here is what I have done :



                 manifest_template: AndroidManifest.erb
                 version: 2.3.3
                 android_title: 0
                      - audiocapture
            msvc: 2012

               - coreapi
               - rhoconnect-client
                 nsis: C:/Program Files (x86)/NSIS/makensis.exe
          -      camera
          -      sdcard
          -      gps

          And it works !