------CppWithPython.cpp------
#ifdef CPPWITHPYTHON_UNIT_TEST
#include "CppWithPython.h"
#include <iostream>
#include <python3.3m/Python.h>
using namespace none;
int main(int argc, char* argv[])
{
Py_Initialize();
PyRun_SimpleString("import jinja2\nprint(\"Hello\")\ntemplate = jinja2.Template('hello {{message}}')\nstr = template.render(message='test')\nprint(str)");
Py_Finalize();
return 0;
}
#endif
------CppWithPython.mk------
CXX = g++ -std=gnu++11
CXXFLAGS = -Wall -g -D CPPWITHPYTHON_UNIT_TEST
INCLUDES =
LIBS = -lpython3.3m
OBJS = CppWithPython.o
PROGRAM = CppWithPython.out
all:$(PROGRAM)
$(PROGRAM): $(OBJS)
$(CXX) $(CXXFLAGS) $^ $(INCLUDES) $(LIBS) -o $(PROGRAM)
.cpp.o:
$(CXX) $(CXXFLAGS) $(INCLUDES) $(LIBS) -c $<
.PHONY: clean
clean:
rm -f *o $(PROGRAM)
---------------------------------------
C++プログラムと同じディレクトリでvirtualenvを設定し、virtualenvのpipでjinja2をインストール
envを削除すると実行できなくなるので、どうやら検索パスにC++プログラムの実行ディレクトリ以下が含まれているようだ。