2016-09-29 5 views
-1

C++コードのNumPyオブジェクトをインクルードしようとしています。 今日から始めました。最初のサンプルプログラムとして、次のスタブコードを作成しました。numpy/arryobject.hを含む警告メッセージ

#include <Python.h> 
#include <numpy/arrayobject.h> 
#include <iostream> 

static PyObject* SpamError; 

int main(void) { 
    std::cout << "Hello, world!\n"; 
    return (0); 
} 

ビルドには次のコマンドを使用しました。私はUbuntu 14.04で構築しました。

g++ -o out test.cc -I/usr/include/python2.7 -lpython2.7 

上記のビルドコマンドを使用すると、次のエラーメッセージが表示されます。

/usr/include/python2.7/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 
#warning "Using deprecated NumPy API, disable it by " \ 

私は明らかにこの意味を理解していない、と私はこの問題を回避する方法を知っていただきたいと思います。誰もこれについていくつかのアドバイスを与えることができますか?

+0

をに#defineを追加し、この日のバージョンまでを使用してくださいとしょうかん。 – amanuel2

答えて

1

いずれかのエラーで指摘したように、最新のライブラリにアップグレードするか、警告が現在のnumpyのバージョンが古いあなたを言っているあなたのコードを以下のように

#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION 

#include <Python.h> 
#include <numpy/arrayobject.h> 
#include <iostream> 

static PyObject* SpamError; 

int main(void) { 
    std::cout << "Hello, world!\n"; 
    return (0); 
} 
1

これはknown issueです。

#define NPY_NO_DEPRECATED_API 

#include <Python.h> 
#include <numpy/arrayobject.h> 
#include <iostream> 
:あなたはそこにスレッドを読んでいる場合、あなたが1. numpyバージョンをアップグレード、2は警告メッセージで述べた #defineを使用し、当分の間、あなたがやるまではそれを無視、または3可能性のように思えます

もちろん、この警告が表示されないバージョンにアップグレードするのが最良の方法です(常に可能なわけではありません)。

関連する問題