0

I downloaded boost 1.55.0. from boost website,

Version of my Visual Studio is 11.0.50727.1.

  1. Open VS2012 x86 Native Tools Command Prompt.
  2. cd
  3. bootstrap.bat

  4. b2.exe After compiling, console wrote, that everything went well, and I can find libraries in \stage\lib

  5. I found them.
  6. I used lib2def to find export functions from libboost_python-vc110-mt-1_55.lib.

Result list:

LIBRARY libboost_python-vc110-mt-1_55

EXPORTS
"__CT??_R0?AU?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@@8??0?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@QAE@ABU012@@Z32"
"__CT??_R0?AUerror_already_set@python@boost@@@8??0error_already_set@python@boost@@QAE@ABU012@@Z4"
"__CT??_R0?AV?$clone_impl@U?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@@exception_detail@boost@@@8??0?$clone_impl@U?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@@exception_detail@boost@@QAE@ABV012@@Z44"
"__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVbad_function_call@boost@@@8??0bad_function_call@boost@@QAE@ABV01@@Z12"
"__CT??_R0?AVbad_numeric_cast@numeric@boost@@@8??0bad_numeric_cast@numeric@boost@@QAE@ABV012@@Z12"
"__CT??_R0?AVclone_base@exception_detail@boost@@@8??0clone_base@exception_detail@boost@@QAE@ABV012@@Z40324"
"__CT??_R0?AVexception@boost@@@8??0exception@boost@@QAE@ABV01@@Z2012"
"__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVinvalid_argument@std@@@8??0invalid_argument@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVnegative_overflow@numeric@boost@@@8??0negative_overflow@numeric@boost@@QAE@ABV012@@Z12"
"__CT??_R0?AVpositive_overflow@numeric@boost@@@8??0positive_overflow@numeric@boost@@QAE@ABV012@@Z12"
"__CT??_R0?AVrange_error@std@@@8??0range_error@std@@QAE@ABV01@@Z12"
"__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12"
"__CTA1?AUerror_already_set@python@boost@@"
"__CTA2?AVbad_alloc@std@@"
"__CTA3?AVinvalid_argument@std@@"
"__CTA3?AVrange_error@std@@"
"__CTA4?AVnegative_overflow@numeric@boost@@"
"__CTA4?AVpositive_overflow@numeric@boost@@"
"__CTA7?AV?$clone_impl@U?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@@exception_detail@boost@@"
"__TI1?AUerror_already_set@python@boost@@"
"__TI2?AVbad_alloc@std@@"
"__TI3?AVinvalid_argument@std@@"
"__TI3?AVrange_error@std@@"
"__TI4?AVnegative_overflow@numeric@boost@@"
"__TI4?AVpositive_overflow@numeric@boost@@"
"__TI7?AV?$clone_impl@U?$error_info_injector@Vbad_function_call@boost@@@exception_detail@boost@@@exception_detail@boost@@"
"encode_string_unaryfunc"
"identity_unaryfunc"
"no_init"
"wmemcpy"
"wmemmove"
"wmemset"

I need all boost::python functions in this library, how can I solve that?

UPDATE:

I don't know why, maybe that is problem, but VS2012 is trying to load "boost_python-vc110-mt-gd-1_55.lib" (I have linker error if I don't have such file). How to order it to not link dynamic instead of static? How to order my project to use static lib? There is NO ANY settings in my project about which library it should take, that is boost auto-linking feature...

UPDATE 2:

I found solution - if I build boost_python library dynamically, everything works well. My compiler (from VS2012) wants all boost libraries static, but boost_python - just dynamic. So when I gave him static version of python - it refused it. I don't know why and how to manage it, but that is body of second question I already asked.

Community
  • 1
  • 1
Arkady
  • 2,084
  • 3
  • 27
  • 48
  • 1
    Try `DUMPBIN /SYMBOLS` on the file. Does it show the symbols you need? DUMPBIN comes with Visual C++. – Janne Karila Apr 01 '14 at 11:47
  • Note by the way that the libboost* files are static libraries. If you are trying to link dynamically to the DLL version, look at boost_python-vc110-mt-1_55.lib – Janne Karila Apr 01 '14 at 12:06
  • Thank you, using DumpBin I got 9,5 Mb of text with different external types and functions. So, I think reason of my troubles may be in versions of buildings: my project in VS that miss functions is x32, but boost could be built in x64. That is why lib2def (that is x32) see just 30 externals, but VS command prompt with dumpbin found there much more. – Arkady Apr 01 '14 at 12:14
  • I updated my VS 2012 to update 4 right now (I thought problem may be there), and now I rebuild entire boost with new updated version. When it will finish, I'll check my suggestions, that I wrote above. I hope that is reason. Thank you very much :-) – Arkady Apr 01 '14 at 12:16
  • I've built with order: b2.exe address-model=32 architecture=x86 - still same result :-( – Arkady Apr 01 '14 at 13:41

0 Answers0