2012-09-14 12 views
5

Mac OSX'te Boost kütüphanesini kullanan bir C++ dosyası derlemeye çalışıyorum. BenBir C++ dosyası derlemek için R CMD SHLIB kullanırken üstbilgi arama yolu nasıl belirlenir?

g++ -I/usr/local/boost simple.cpp 

ile komut kabuğunda dosyayı derlemek Örneğin, o zaman her şey gayet aşağıdaki "simple.cpp"

#include <boost/random.hpp> 
using namesapce boost::math; 

int main(){ 
    boost::mt19937 rng; 
    rng.seed(static_cast<boost::uint32_t> (std::time(0))); 

    return 0; 
} 

bakın. Ancak, R projemi hızlandırmak için kullanabileceğim bir paylaşılan kitaplık oluşturmak istiyorum. Eğer

kullanırsanız, başlık dosyasının bulunamadığını bildirir. R CMD için arama yolunu belirtmenin bir yolu var mı? Sen PKG_CXXFLAGS ayarlamak istediğiniz

R CMD SHLIB -I/usr/local/boost test.cpp 
+0

'? SHLIB''de bir örnek var. –

+1

(1) Muhtemelen '# include' satırındaki' '' '' boost/random.hpp' arasında bir boşluk olmamalıdır. (2) G + + komut satırında '-I/usr/local/boost' belirtmeniz gerekiyorsa (böylece başlık'/usr/local/boost/boost/random.hpp' olarak kuruldu), Muhtemelen R komutu için aynı şeyi yapması gerekiyor. Alternatif olarak, G ++ otomatik olarak '/ usr/local/include' dosyasına bakabilir (ve sonra/usr/local/include/boost/random.hpp' dosyasını bulur), fakat yine de R komutu bunu yapmaz. Bunu nasıl yapacağınızı öğrenmelisiniz. –

+0

'Nasıl yapmalı?', R'nin aşağıdaki cevabımdaki gibi saygı gösterdiği standart oluşturma değişkenlerini belirlemektir. –

cevap

İlgili konular