Question

I've just been exposed to a large non-trivial CMake/Eclipse based C++ project. One of the build targets is Windows/nmake based. In the final step of building an executable, the linker throws LNK1104: cannot open file 'python27.lib'. This is correct, because Python 2.7 hasn't been installed.

Problem is, I cannot find any references to this library in cl.exe's command line. Also a grep on the whole project directory (including eclipses .metadata directory) won't find anything plausible. Deleting all the cmake generated build stuff didn't help too.

The real question is, if MSVC-based libraries (import or static ones) have any mechanism to request additional libraries during the link step implicitely. There are a few pre-compiled ones in the mentioned project. I simply need the vocabulary, where to begin a more qualified search regarding the error cause.

Was it helpful?

Solution

I found the answer here:

Puzzling dependency of Boost.Python 1.54 (debug build) to Python27.lib on Windows

Basically, the culprit is a #pragma comment() directive inside the boost libraries.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top