プログラムを Windows 環境と互換性を持たせることにしましたが、Windows でのプログラミング経験はほとんどありません。助けが必要なエラーがいくつかあります。
環境:
- OS: win7-64bit,
- ide: codeblocks12.11,
- python: Python 2.7.3 Windows X86-64 インストーラー (Windows AMD64 / Intel 64 / X86-64 バイナリ [1] -- ソースは含まれません)
- コンパイラ: codeblocks インストール パッケージからの mingw。
- ブースト: ブースト1.52
「.\boost_1_52_0\libs\python\example\tutorial」からのこの「hello」コードのみをコピーしてテストします
コード:
#include <iostream>
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
char const* greet()
{ return "hello, world"; }
BOOST_PYTHON_MODULE(hello_ext)
{
using namespace boost::python;
def("greet", greet);
}
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
エラー情報:
mingw32-g++.exe -Wall -fexceptions -g -ID:\boost\include\boost-1_52 -IC:\Python27\include -c E:\project\snail-MW\test1\main.cpp -o obj\Debug\main.o
mingw32-g++.exe -LD:\boost\lib\ -LC:\Python27\libs -o bin\Debug\test1.exe obj\Debug\main.o
obj\Debug\main.o: In function `inithello_ext':
E:/project/snail-MW/test1/main.cpp:11: undefined reference to `boost::python::detail::init_module(char const*, void (*)())'
obj\Debug\main.o: In function `ZNK5boost6python9type_info4nameEv':
D:/boost/include/boost-1_52/boost/python/type_id.hpp:165: undefined reference to `boost::python::detail::gcc_demangle(char const*)'
obj\Debug\main.o: In function `ZNK5boost6python15to_python_valueIRKPKcEclES5_':
D:/boost/include/boost-1_52/boost/python/converter/builtin_converters.hpp:161: undefined reference to `boost::python::converter::do_return_to_python(char const*)'
................
また、ステーション ".\boost_1_52_0\libs\python\example\tutorial" で "bjam toolset=gcc variant=release " のコマンドによってのみコンパイルされるいくつかのエラーも発生しています。