I'm trying to build a python c extension on windows with msvc (using distutils) which links in some other static libraries.
Basically I have test1.lib, test2.lib and test3.obj and want to build test4.dll which has test1.lib, test2.lib and test3.obj linked in.
I've inspected the generated dll with depends.exe and it is expecting a test1.dll and test2.dll.
Any ideas on how to tell msvc to properly link the files?
Here is the actual build command:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\app\backend\opc_ua\ua_sd
k\lib /LIBPATH:C:\app\backend\opc_ua\ua_sdk\third-party\win64\vs2015\libxml2\out32dll /LIBPATH:C:\app\backend\opc_ua\ua_sdk\third-party\win64\vs2015\openssl\out32dll /LIBPATH:C:\Pyth
on-3.7.2-amd64\libs /LIBPATH:C:\Python-3.7.2-amd64\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\
lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" ws2_32.lib advapi32.lib uamodule.lib coremodule.lib uapkicpp.lib uabasecpp.lib xmlparsercpp.l
ib uastack.lib libxml2.lib libssl.lib libcrypto.lib mpr.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib /EXPORT:PyInit_opcua
build\temp.win-amd64-3.7\Release\uniauto_cpp\opcuamodule.obj build\temp.win-amd64-3.7\Release\uniauto_cpp\NodeManager.obj build\temp.win-amd64-3.7\Release\uniauto_cpp\opcserver.obj
build\temp.win-amd64-3.7\Release\uniauto_cpp\uamodeler_output\instancefactory_.obj build\temp.win-amd64-3.7\Release\uniauto_cpp\uamodeler_output\nodemanager.obj build\
temp.win-amd64-3.7\Release\uniauto_cpp\uamodeler_output\nodemanagerbase.obj /OUT:build\lib.win-amd64-3.7\opcua.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\uni
auto_cpp\opcua.cp37-win_amd64.lib
And depends.exe says the output file depends on uastack.dll, libxml2.dll, libcrypto.dll when they are clearly listed in their .lib format.