为什么未在任何地方指定链接器时都在寻找python36_d.lib?

问题描述 投票:0回答:1

我正在使用VS 2017和SWIG编译Python C ++ extension module。>>

扩展模块(.pyd文件)的链接器命令(用于Debug配置)是:

/OUT:"D:\TFS\Dev\CGALSwig\cgal-swig-binding-4.x\build\build-python\CGAL\_CGAL_Kernel.pyd" /MANIFEST /NXCOMPAT /PDB:"D:/TFS/Dev/CGALSwig/cgal-swig-binding-4.x/build/build-python/CGAL/_CGAL_Kernel.pdb" /DYNAMICBASE "C:\Users\helloworld\AppData\Roaming\python\libs\python36.lib" "Debug\CGAL_Kernel_cpp.lib" "D:\TFS\Dev\CGALSwig\mpfr\lib\libmpfr-4.lib" "D:\TFS\Dev\CGALSwig\gmp\lib\libgmp-10.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib" /IMPLIB:"D:/TFS/Dev/CGALSwig/cgal-swig-binding-4.x/build/build-python/CGAL/Debug/CGAL_Kernel.lib" /DEBUG /DLL /MACHINE:X64 /INCREMENTAL /PGD:"D:\TFS\Dev\CGALSwig\cgal-swig-binding-4.x\build\build-python\CGAL\_CGAL_Kernel.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"_CGAL_Kernel_python.dir\Debug\_CGAL_Kernel.pyd.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"D:/TFS/Dev/CGALSwig/cgal-swig-binding-4.x/build/build-python/CGAL" /LIBPATH:"D:/TFS/Dev/CGALSwig/cgal-swig-binding-4.x/build/build-python/CGAL/Debug" /TLBID:1 

这清楚地表明依赖关系是python36.lib,而不是python36_d.lib。链接器仍然会抛出此错误:

LNK1104 : cannot open file 'python36_d.lib'

为什么链接程序不在链接程序参数中时,链接程序为什么要寻找调试LIB?

我正在使用VS 2017和SWIG编译Python C ++扩展模块。扩展模块(.pyd文件)的链接器命令(用于Debug配置)为:/ OUT:“ D:\ TFS \ Dev \ CGALSwig \ cgal -...

python c++ swig
1个回答
0
投票
# if defined(_DEBUG) # pragma comment(lib,"python36_d.lib") # elif defined(Py_LIMITED_API) # pragma comment(lib,"python3.lib") # else # pragma comment(lib,"python36.lib") # endif /* _DEBUG */
© www.soinside.com 2019 - 2024. All rights reserved.