Boost logo

Boost Users :

Subject: Re: [Boost-users] [system] Link error using __stdcall
From: Daniele Barzotti (daniele.barzotti_at_[hidden])
Date: 2009-06-08 05:45:02


Igor R ha scritto:
>> What I don't understand is why when I build the COM DLL in 'Debug mode'
>> it works!
>
> Probably, because you've got different default calling conventions in
> Debug and Release modes.
> In project properties go to "Configuration
> properties"-->"C/C++"-->"Advanced"-->Calling convention.

Hi Igor,

my misunderstood is exactly this!
The calling convention is set to __cdecl in both configurations!!

These are the command lines:

DEBUG COMPILER:

/Od /I "..\include" /I "G:\lib\boost_1_39_0" /D "WIN32" /D "_WINDOWS" /D
"_DEBUG" /D "_USRDLL" /D "_MERGE_PROXYSTUB" /D "_WIN32_DCOM" /D
"_WINDLL" /D "_ATL_DLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd
/Yu"stdafx.h" /Fp"Debug\AxEuroATLib.pch" /Fo"Debug\\"
/Fd"Debug\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt

DEBUG LINKER:

/OUT:"g:\src\Eurocom\Ax_TETRA\EuroATLib\AxEuroATLib\\Bin\AxEuroATLib.dll"
/INCREMENTAL /NOLOGO /LIBPATH:"..\lib\static"
/LIBPATH:"G:\lib\boost_1_39_0\stage\lib" /DLL /MANIFEST
/MANIFESTFILE:"Debug\AxEuroATLib.dll.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'"
/DEF:".\AxEuroATLib.def" /DEBUG
/PDB:"g:\src\Eurocom\Ax_TETRA\EuroATLib\AxEuroATLib\Bin\AxEuroATLib.pdb"
/SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86
/ERRORREPORT:PROMPT uuid.lib EuroATLibd.lib kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

RELEASE COMPILER:

/O2 /I "..\include" /I "G:\lib\boost_1_39_0" /D "WIN32" /D "_WINDOWS" /D
"NDEBUG" /D "_USRDLL" /D "_MERGE_PROXYSTUB" /D "_WIN32_DCOM" /D
"_WINDLL" /D "_ATL_DLL" /D "_UNICODE" /D "UNICODE" /FD /EHsc /RTC1 /MD
/Yu"stdafx.h" /Fp"Release\AxEuroATLib.pch" /Fo"Release\\"
/Fd"Release\vc90.pdb" /W3 /nologo /c /Zi /TP /errorReport:prompt

RELEASE LINKER:

/OUT:"g:\src\Eurocom\Ax_TETRA\EuroATLib\AxEuroATLib\\Bin\AxEuroATLib.dll"
/INCREMENTAL /NOLOGO /LIBPATH:"..\lib\static"
/LIBPATH:"G:\lib\boost_1_39_0\stage\lib" /DLL /MANIFEST
/MANIFESTFILE:"Release\AxEuroATLib.dll.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'"
/DEF:".\AxEuroATLib.def" /DEBUG
/PDB:"g:\src\Eurocom\Ax_TETRA\EuroATLib\AxEuroATLib\Bin\AxEuroATLib.pdb"
/SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /DYNAMICBASE /NXCOMPAT /MACHINE:X86
/ERRORREPORT:PROMPT uuid.lib EuroATLib.lib kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net