在shinyapp.io的R Shiny应用程序中使用C ++编译的代码

时间:2017-01-13 08:26:24

标签: c++ r shiny

我开发了一个围绕C ++程序构建的ShinyApp。简而言之,该应用程序的作用是:

  • 提供了一个很好的界面来设置C ++应用程序的参数(在文本文件中)
  • 使用system(...)命令
  • 运行C ++编译代码
  • 使用ggplot2
  • 显示C ++代码的输出

C ++编译的代码存储在www文件夹中。本地它工作正常,但当我将应用程序加载到shinyapp网站(我有一个免费订阅)时,我收到以下错误:

sh: 1: ./a.out: Permission denied

a.out是我的编译c ++代码。任何想法

  1. 我做错了什么?
  2. 可以在shinyapp.io中调用已编译的c ++代码吗?

1 个答案:

答案 0 :(得分:0)

这是一个非常老的问题,但是由于我偶然发现了这个问题,希望能找到相同问题的答案,所以我将分享对我有用的东西。

我没有尝试注释中提到的.bat建议,因为这似乎与Windows OS有关,而Shiny使用Linux。

相反,我使用了R的Sys.chmod()函数。在您的情况下,如果要调用system(“ a.out”),请在该行之前放置Sys.chmod(“ a.out”,mode =“ 777”)。请注意,您可能希望进一步了解chmod在权限方面的作用。但是代码看起来像:

// ...
Sys.chmod("a.out", mode="777")
system("a.out")
// ... remaining code