gpt4 book ai didi

c++ - RInside 编译 : Make Targets

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:16 25 4
gpt4 key购买 nike

我是 make 的新手,我正在尝试运行此处给出的 Qt 密度演示的 RInside 示例:http://dirk.eddelbuettel.com/blog/2011/03/25/ .我已将代码保存到以下文件中:

main.cpp 生成文件qt密度.cpp包括/qtdensity.h

我正在运行 Ubuntu 13.10,我安装了 R、Rcpp 和 Inside。当我去终端运行

> make -f Makefile

我得到了错误

make: *** No targets. Stop.

请让我知道如何进行。

谢谢


我不知道如何跟进第一个答案,所以我必须扩展我的问题:

我刚刚创建了文件并能够在 main.cpp、qtdensity.cpp、qtdensity.h 和 qtdensity.pro 上运行 qmake,它们运行正常,但是当我尝试运行 make 时,出现以下错误:

很多与 R 相关的错误...

qtdensity.cpp:(.text+0x53a): undefined reference to `Rf_mkString'
qtdensity.cpp:(.text+0x54e): undefined reference to `Rf_install'
qtdensity.cpp:(.text+0x559): undefined reference to `Rf_findVarInFrame'
qtdensity.cpp:(.text+0x560): undefined reference to `R_UnboundValue'
...

qtdensity.cpp:(.text.startup+0x2a5): undefined reference to `R_NaReal'
qtdensity.cpp:(.text.startup+0x2b2): undefined reference to `R_NaN'
main.o: In function `_GLOBAL__sub_I_main':
main.cpp:(.text.startup+0x2a5): undefined reference to `R_NaReal'
main.cpp:(.text.startup+0x2b2): undefined reference to `R_NaN'
main.o: In function `main':
main.cpp:(.text.startup+0x352): undefined reference to `RInside::RInside(int, char const* const*, bool, bool, bool)'
main.cpp:(.text.startup+0x397): undefined reference to `RInside::~RInside()'
main.cpp:(.text.startup+0x3b3): undefined reference to `RInside::~RInside()'
moc_qtdensity.o: In function `_GLOBAL__sub_I__ZN9QtDensity18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv':
moc_qtdensity.cpp:(.text.startup+0x2a5): undefined reference to `R_NaReal'
moc_qtdensity.cpp:(.text.startup+0x2b2): undefined reference to `R_NaN'
collect2: error: ld returned 1 exit status
make: *** [qdensity] Error 1

最佳答案

Qt 示例不同,因为它使用了 Qt。您总是需要从 .pro 文件创建 Makefile 本身开始。证人:

edd@max:~/git/rinside/inst/examples/qt$ ls -l        ## no Makefile
total 28
drwxrwxr-x 2 edd edd 4096 Dec 27 18:38 cmake
-rw-rw-r-- 1 edd edd 518 Dec 27 18:38 main.cpp
-rw-rw-r-- 1 edd edd 5953 Dec 27 18:38 qtdensity.cpp
-rw-rw-r-- 1 edd edd 1532 Dec 27 18:38 qtdensity.h
-rw-rw-r-- 1 edd edd 2378 Feb 11 20:14 qtdensity.pro
-rw-rw-r-- 1 edd edd 887 Dec 27 18:38 README
edd@max:~/git/rinside/inst/examples/qt$ qmake ## creates Makefile
edd@max:~/git/rinside/inst/examples/qt$ make
g++ -c -m64 -pipe -I/usr/share/R/include [... lots and lots omitted ...]
g++ -m64 -Wl,-O1 -o qtdensity qtdensity.o main.o moc_qtdensity.o [....]
edd@max:~/git/rinside/inst/examples/qt$ ls -l qtdensity
-rwxrwxr-x 1 edd edd 76666 Feb 14 15:02 qtdensity
edd@max:~/git/rinside/inst/examples/qt$

这个当然也在这个目录的README中描述了...

关于c++ - RInside 编译 : Make Targets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com