Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to use Rcpp in Qt (with Mac) [Almost Solved]?
Forum Updated to NodeBB v4.3 + New Features

How to use Rcpp in Qt (with Mac) [Almost Solved]?

Scheduled Pinned Locked Moved General and Desktop
rcpp qt mac
25 Posts 3 Posters 8.4k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    newe12
    wrote on last edited by newe12
    #12

    Thanks!

    Well, now I have got:
    INCLUDEPATH += /Users/xy/share/R/include
    INCLUDEPATH += /Users/xy/Library/Frameworks/R.framework/Resources/library/Rcpp/include
    LIBS += -L/Users/xy/Library -framework R

    but I still get:
    'Rcpp.h' file not found

    also if change to:
    LIBS += -L/Users/xy/Library/Frameworks/R.framework/

    and when I typed in R Studio:
    getw()

    I got:
    /Users/xy

    Sorry, but I do not find the mistake. Any idea?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by SGaist
      #13

      It depends on how you wrote your includes

      What mistake are you thinking about ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • N Offline
        N Offline
        newe12
        wrote on last edited by newe12
        #14

        I wrote my include: #include "Rcpp.h" in mainwindow.cpp.
        It is not conflicting with: #include "math.h", or?

        And it displays: directory not found for: LIBS += -L/Users/xy/Library/Frameworks/R.framework/ and also for: LIBS += -L/Users/xy/Library -framework R

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #15

          To add a path for frameworks you should user -F /Users/xy/Library/Frameworks/
          The includes are generally in fwname.framework/Headers

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          1
          • N Offline
            N Offline
            newe12
            wrote on last edited by newe12
            #16

            Hi!

            Sorry, but Qt still does not find the "Rccp.h" file. I tried to include #include "Rcpp.h" in mainwindow.cpp or in mainwindow.h. Or should I include it in main.cpp?

            and additionally I wrote in the .pro-file:
            HEADERS += mainwindow.h

            FORMS += mainwindow.ui

            INCLUDEPATH += /Users/xy/share/R/include
            INCLUDEPATH += /Users/xy/Library/Frameworks/R.framework/Resources/library/Rcpp/include
            LIBS += -L/Users/xy/Library/Frameworks/R.framework/
            INCLUDEPATH += -F/Users/xy/Library/Frameworks/R.framework/Resources/library/Rcpp/include

            and I tried: INCLUDEPATH += "/Users/.../include" using: "..." but same result.

            In RStudio it gives me:

            .Library
            [1] "/Library/Frameworks/R.framework/Resources/library"
            getwd()
            [1] "/Users/xy"

            So I combined: "/Users/xy/Library/Frameworks/R.framework/Resources/library"

            Unfortunately, always the same result 'Rcpp.h' not found.

            Even they: https://stat.ethz.ch/pipermail/r-sig-mac/2011-May/008270.html found
            "/Library/Frameworks/R.framework/Resources/library" should be alright!

            Has got anyone an idea?

            I just want to use 'Rcpp.h' (which I already installed via RStudio, where it loads and runs without any problems) in Qt with a Mac. :-)

            1 Reply Last reply
            0
            • N Offline
              N Offline
              newe12
              wrote on last edited by
              #17

              Has anyone an idea to get Rcpp.h http://dirk.eddelbuettel.com/code/rcpp/html/Rmath_8h.html
              running in Qt with a Mac?

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #18

                Hi again!
                Can you open the directory "/Users/xy/Library/Frameworks/R.framework/Resources/library/Rcpp/include" with a file manager? Does it contain the file "Rcpp.h" ?

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  newe12
                  wrote on last edited by
                  #19

                  Hi,
                  I tried to re-install Rcpp.h:

                  • installing source package ‘Rcpp’ ...
                    ** Paket ‘Rcpp’ erfolgreich entpackt und MD5 Summen überprüft
                    ** libs
                    clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include
                    ...
                    ...
                    clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
                    installing to /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/libs
                    ** R
                    ** inst
                    ** preparing package for lazy loading
                    ** help
                    *** installing help indices
                    ** building package indices
                    ** installing vignettes
                    ** testing if installed package can be loaded
                  • DONE (Rcpp)

                  then I used:
                  INCLUDEPATH += /Users/xy/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include
                  LIBS += -I/Library/Frameworks/R.framework/Resources/include
                  or
                  LIBS += -F/Library/Frameworks/R.framework/Resources/include

                  It still does not run!

                  1 Reply Last reply
                  0
                  • ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #20

                    Hallo :-)

                    -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o

                    I see that some object code files have been installed. But are you really sure that the file "Rcpp.h" exists in "/Users/xy/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include" ? Maybe the Rcpp project has been split in two separate packages: One package only for software that uses Rcpp binaries and a second package for developers that includes all the header files (so called "-dev" package)?

                    N 1 Reply Last reply
                    1
                    • ? A Former User

                      Hallo :-)

                      -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o

                      I see that some object code files have been installed. But are you really sure that the file "Rcpp.h" exists in "/Users/xy/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include" ? Maybe the Rcpp project has been split in two separate packages: One package only for software that uses Rcpp binaries and a second package for developers that includes all the header files (so called "-dev" package)?

                      N Offline
                      N Offline
                      newe12
                      wrote on last edited by newe12
                      #21

                      Hi Wieland!

                      Thanks! Yes it exists!

                      I checked (in the Terminal): cd /Library/Frameworks/R.framework/Resources/library
                      and then "ls"

                      And it is there: Rcpp

                      Then i changed to: cd Rcpp and "ls" gave me:
                      CITATION NAMESPACE THANKS examples libs
                      DESCRIPTION NEWS.Rd announce help prompt
                      INDEX R discovery html skeleton
                      Meta README doc

                      This was initially downloaded from: http://cran.r-project.org/web/packages/Rcpp/index.html

                      And I changed:
                      INCLUDEPATH += /Users/xy/Library/Frameworks/R.framework/Resources/library/Rcpp/include
                      LIBS += -I/Users/xy/Library/ -framework R
                      in the .Pro-file.

                      Any ideas?

                      1 Reply Last reply
                      0
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by A Former User
                        #22

                        Sorry for being pedantic on this (I'm only as pedantic as the compiler is ;-) ). You said:

                        cd /Library/Frameworks/R.framework/Resources/library
                        And it is there: Rcpp

                        That is a directory. Where exactly is the file Rcpp.h?

                        1 Reply Last reply
                        1
                        • N Offline
                          N Offline
                          newe12
                          wrote on last edited by newe12
                          #23

                          Hi Wieland, thanks for your hint!

                          Finally, I found Rcpp.h and I managed to include it with the correct path and now Rcpp.h is found!
                          Here the two steps, which helped me to solve it:

                          1. QMAKE_LFLAGS += -I /Library/Frameworks/R.framework/Resources/library/Rcpp/ # use qmake and then uncomment it
                          2. INCLUDEPATH += -I /Library/Frameworks/R.framework/Resources/library/Rcpp/include
                            Remark: Very important was to change the path directly to /Library/... and include "-I".

                          This first part of the problem is solved!

                          But now, i get the new error message: framework not found R.

                          I use: LIBS += -framework R
                          in the .Pro-file (as suggested here: http://doc.qt.io/qt-4.8/qmake-platform-notes.html).
                          I also tried: LIBS += -framework -lR
                          it also did not work.

                          Here is the error message:

                          ld: framework not found R
                          clang: error: linker command failed with exit code 1 (use -v to see invocation)
                          make: *** [xy.app/Contents/MacOS/xy] Error 1
                          19:13:17: Der Prozess "/usr/bin/make" wurde mit dem Rückgabewert 2 beendet.
                          Fehler beim Erstellen/Deployment des Projekts xy (Kit: Desktop Qt 5.4.1 clang 64bit)
                          Bei der Ausführung von Schritt "Make"

                          I hope this second part can also be solved. Then it should work! Any suggestions?

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #24

                            Hi,

                            Did you add -F/Library/Frameworks to your pro file ? It's the equivalent to -L for libraries

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            1
                            • N Offline
                              N Offline
                              newe12
                              wrote on last edited by
                              #25

                              Yes!

                              Well, the problem removed, but this came up:
                              Undefined symbols for architecture x86_64:
                              "_REprintf", referenced from:
                              Rcpp::Rstreambuf<false>::xsputn(char const*, long) in mainwindow.o
                              Rcpp::Rstreambuf<false>::overflow(int) in mainwindow.o
                              "_R_FlushConsole", referenced from:
                              Rcpp::Rstreambuf<false>::sync() in mainwindow.o
                              Rcpp::Rstreambuf<true>::sync() in mainwindow.o
                              "_Rprintf", referenced from:
                              Rcpp::Rstreambuf<true>::xsputn(char const*, long) in mainwindow.o
                              Rcpp::Rstreambuf<true>::overflow(int) in mainwindow.o
                              ld: symbol(s) not found for architecture x86_64
                              clang: error: linker command failed with exit code 1 (use -v to see invocation)
                              make: *** [xy.app/Contents/MacOS/xy] Error 1
                              23:51:38: Der Prozess "/usr/bin/make" wurde mit dem Rückgabewert 2 beendet.
                              Fehler beim Erstellen/Deployment des Projekts xy (Kit: Desktop Qt 5.4.1 clang 64bit)
                              Bei der Ausführung von Schritt "Make"

                              Especially: symbol(s) not found for architecture x86_64
                              does not disappear after several tries.

                              Here: https://forum.qt.io/topic/35065/solved-qt5-1-qt5-2-xcode-5-0-2-mac-os-10-9-mavericks-can-t-link-to-the-libraries-undefined-symbols-for-architecture-x86_64/11
                              it was described that Xcode and Mac Os were not linked properly.

                              Here: http://stackoverflow.com/questions/25940368/qt5-target-conditionals-not-found
                              QMAKE_MAC_SDK = macosx10.9
                              was suggested. Either it failed, or: Project ERROR: Could not resolve SDK path for 'macosx10.xy'
                              was displayed!

                              Well yet not solved... :-)

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved