Rcpp未加载增压/asio.hpp
我想包括Rcpp未加载增压/asio.hpp,r,linux,boost,rcpp,R,Linux,Boost,Rcpp,我想包括boost库中的一些功能。但是当包含#包含时,文件将不会编译,请参见我的示例: // [[Rcpp::depends(BH)]] #include <Rcpp.h> #include <boost/asio.hpp> // [[Rcpp::export]] int main() { return 0; } 我也在Windows10上试过了,加载也是不可能的 通过g++进行编译时,所有工作正常: // test.cpp #include <boost
boost
库中的一些功能。但是当包含#包含时,文件将不会编译,请参见我的示例:
// [[Rcpp::depends(BH)]]
#include <Rcpp.h>
#include <boost/asio.hpp>
// [[Rcpp::export]]
int main()
{
return 0;
}
我也在Windows10上试过了,加载也是不可能的
通过g++进行编译时,所有工作正常:
// test.cpp
#include <boost/asio.hpp>
int main()
{
return 0;
}
//test.cpp
#包括
int main()
{
返回0;
}
是的,就是这样。让我解释一下,并继续读下去,因为有一个解决方案
包裹
此包仅为标题。没有链接。这样,您(作为软件包作者或用户)就不必麻烦-lboost_系统
,这很快就会成为跨系统的难题
等等,什么?
对。这只是标题。因此不包括所有的Boost,因为没有链接也不能得到所有的Boost。例如,没有Asio
再说一遍?没有Asio?
对。标准的Boost构建需要Asio与链接。这与我们的做法是不相容的
悲哀的
不要害怕。在某种程度上,我发现Asio的作者也用第二种方式捆绑它,只使用头。因此,只需使用我的CRAN软件包即可。谢谢您的解释!我以前从未听说过AsioHeaders的套装。所以我很高兴能使用它。当然。(我猜你知道你的main.cpp
不会工作,因为Rcpp不是这样工作的,对吧?)Jap,我已经和Rcpp一起工作过,并且尽可能多地删除它来创建MWE。这也是boost/system/system\u error.hpp的情况吗?我不知道。也许你需要重新阅读关于“仅标题”的部分,或者学习。如果您坚持链接,请提供一个库。在所有OSs上。更多的工作。你的电话。
// test.cpp
#include <boost/asio.hpp>
int main()
{
return 0;
}