|
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