首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RInside编译:创建目标

RInside编译:创建目标
EN

Stack Overflow用户
提问于 2014-02-14 20:53:09
回答 1查看 368关注 0票数 1

我对使用make很陌生,我正在尝试运行Qt密度演示的RInside示例:http://dirk.eddelbuettel.com/blog/2011/03/25/。我已经将代码保存到以下文件中:

main.cpp Makefile qtdensity.cpp包含/qtdenity.h

我运行的Ubuntu13.10,我有R,Rcpp和内部安装。当我跑到终点站时

代码语言:javascript
复制
> make -f Makefile

我知道错误了

代码语言:javascript
复制
make: *** No targets. Stop.

请告诉我该怎么做。

谢谢

我看不出如何跟进第一个答案,所以我不得不扩展我的问题:

我刚刚创建了这些文件,并且能够在main.cpp、qtdensity.cpp、qtdenity.h和qtdensity.pro上运行qmake,但当我尝试运行make时,我得到以下错误:

很多与R相关的错误.

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2014-02-14 21:04:57

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

代码语言:javascript
复制
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$ 

这个当然也是自述目录中的.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21789318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档