This morning I installed Python 3.6, got my b2 config to compile the boost lib and do have both flavors of libboost_python3...
in the lib path. Then with a simp
#define BOOST_PYTHON_STATIC_LIB
link: libboost_python3-vc140-mt-s-1_65_1.lib
While I have all this in my head........
Boost checks with whatever python include path you are using. And why not as you may want to work with 2.7 or 3.6. So the python include must be set in Additional Include Directories
. I had mine set to 2.7 and had forgotten, my bad. I figured it out in that PY_MAJOR_VERSION
is Python defined.
I still had linking issues, I just wanted to link static for now, but Boost Python will force dynamic linking of boost, regardless of user options. But that post fixes it.
Then I still did not have a libboost_python3-vc140-mt-sgd-1_65.lib
and I had just done a b2 .. --build-type=complete install
to be sure. I still had the console open so I looked up the list and boost python-s was built! For what ever reason b2 created a folder, C:\Boost\lib
, just for the staticly linked python libs. All the other libs landed in C:\cpp\boost_1_65_0\stage\lib
What an adventure this has been!