与kdb的Rinside编译错误

时间:2014-02-12 16:23:59

标签: c++ r kdb rinside

我成功运行了包中的示例代码。然后我将sample1中的代码复制到我的另一个文件中并将其设置为使用Makefile进行编译。 还将样本副本复制到同一目录中。 目录中的示例编译并运行正常。 但是在我现有的代码中使用R会产生问题。编译时会出现错误expected unqualified-id before âreturnâ。这发生在我声明RInside R(argc, argv)的行中。

我注意到的另一个奇怪的事情是,如果我包含在包含文件的底部,我会在Rcpp等中出现一堆错误,但如果我将它包含在顶部,则所有这些错误都会消失。

此外,包是否需要-O3的默认编译选项?对于我的大部分代码,我一直在使用-Ofast。浏览这里的问题我想我需要在Makevars中对CXXFLAGS进行更改,但我无法找到它的位置。 任何帮助表示赞赏。

我已将错误归结为我的设置中包含的另一个文件“k.h”。这是一个用于将c ++与kdb +数据库连接的文件。如果我在Rcpp类中出现错误之前包含该文件。当在RInside之后包含时,我得到unqualified id before return的早期错误。

这是有问题的文件:k.h

已解决:似乎是变量名称冲突。在所有示例中,我们都有RInside R(argc, argv)。一旦我将其更改为RInside L(argc, argv),一切正常。不知道为什么会这样,但它至少解决了这个问题。经过测试的产出。

0 个答案:

没有答案