0

I have a python project containing python bindings to a C++ library mylib.lib. Mylib.lib is dependent on different libs such as boost, ICU, xml++ etc. In my setup.py pipeline I have a part where I have to compile python bindings (pybind11).

Because this entire setup is new to me, I work on it incrementally. I added all required headers and the compilation itself went smoothly - linker outputed a lot unresolved external symbols which was ok at this stage and so I decided to link mylib.lib and then LINK.EXE asked about very specific library:

LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc142-mt-x64-1_72.lib'

I have no problem linking boost in setup.py, I just don't understand how linker can be so specific. I did not ask about that library and in case I have missed something, I made linker to be verbose and there is no boost mention in the command. Any clues?

Cheers!


Edit: This happens only with Boost, rest of libraries are ignored and I have to manually link them.

Proko
  • 1,871
  • 1
  • 11
  • 23
  • One of the libraries you are using is probably using that library. What boost libraries are you using? – Anon Mail Jul 25 '20 at 15:47
  • 1
    You say the response yourself: "Mylib.lib is dependent on different libs such as boost" – Manuel Jul 25 '20 at 15:48
  • 2
    Look for msvc specific #pragma comment(lib in the code of mylib [What does "#pragma comment" mean?](https://stackoverflow.com/questions/3484434/what-does-pragma-comment-mean) – 273K Jul 25 '20 at 15:50
  • @AnonMail program_options filesystem system regex @Manuel, right but it's also dependent on `ICU` and other libraries, so what's special about `boost`? – Proko Jul 25 '20 at 15:50
  • @S.M. I couldn't find anything – Proko Jul 25 '20 at 15:57
  • 1
    It is in the headers for boost. – drescherjm Jul 25 '20 at 19:44

0 Answers0