Saturday, 15 February 2014

cdecl and stdcall calling conventions in Native Nuget -



cdecl and stdcall calling conventions in Native Nuget -

i'm trying build native nuget bundle offers pivot on calling conventions, providing dlls both cdecl , stdcall conventions x86 builds. (most users prefer cdecl calling conventions, .net users p/invoke library prefer stdcall various reasons.)

my .autopkg contains both cdecl , stdcall pivots:

nuget { [nuspec omitted brevity] files { [win32,cdecl] { lib: build\x86-cdecl\debug\git2-0_21_0.lib; bin: build\x86-cdecl\debug\git2-0_21_0.dll; symbols: build\x86-cdecl\debug\git2-0_21_0.pdb; } [win32,stdcall] { lib: build\x86-stdcall\debug\git2-0_21_0.lib; bin: build\x86-stdcall\debug\git2-0_21_0.dll; symbols: build\x86-stdcall\debug\git2-0_21_0.pdb; } }; }

building .nupkg using native nuget scripts appears succeed , installing , using nuget bundle within standard c project (one cdecl calling conventions) succeeds.

however, if create new c project , set calling conventions stdcall , install nuget package, not stdcall version of library. instead, cdecl version installed , cannot link.

i optimistic nuget bundle manager observe project's configuration , utilize appropriate calling convention pivot (like processor type), not appear happen. nor given alternative select calling convention manually. yet fact there is pivot in autopkg configuration makes me think could select one.

how can take advantage of pivot?

nuget

No comments:

Post a Comment