From: Giovanni Dicanio on

"�ystein Skotheim" <oystein(a)dontspam.me> ha scritto nel messaggio
news:g6p6ol$74s$1(a)kuling.itea.ntnu.no...

> Perhaps I should say that I first ran into another problem with my
> application in debug mode, namely a crash during startup telling
> "Assertion Failed! Expression: _CrtIsValidHeapPointer(pUserData)." It
> seems like this was caused by some native, global, static variables (e.g.
> STL lists) present in "GcpsDotNetApi.dll". After searching on the net for
> a while, I found a workaround telling me to force the symbol define
> "__DllMainCRTStartup(a)12" to enable running of some CRT initialization
> code. This made the error go away. I do not know if the problem that I
> experience now might be related to the same issue.

Just for test, could you avoid "automatic" global/static variables
initialization, and instead pack them somewhere in a struct, and
*explicitly* call an initialization function?
e.g. the DLL exports something like "<DLL Name>_Init", so this function does
the initialization of the "global" variables, packed in a struct.
The client of the DLL explicitly calls this DLL initialization function.

....just a test, to try to understand if this is the problem.

Giovanni


From: Ben Voigt [C++ MVP] on
> Hello again and thank you for your answer. I tried to do debug as you
> suggested. Now the debugger stops on line 109 of file atonexit.c:
>
> retval = __dllonexit(func, &onexitbegin, &onexitend);
>
> This is the call stack:
>
> ntdll.dll!RtlpNtMakeTemporaryKey() + 0x6a76 bytes
> [Frames below may be incorrect and/or missing, no symbols loaded
> for ntdll.dll]
> ntdll.dll!RtlpNtMakeTemporaryKey() + 0x848f bytes
> ntdll.dll!RtlInitializeSListHead() + 0x1075b bytes
> msvcr80.dll!_msize() + 0xf8 bytes
> msvcr80.dll!_invalid_parameter() + 0xf9 bytes
>> GcpsDotNetApi.dll!_onexit(int (void)* func=0x04c70a3d) Line 110 +
> 0x10 bytes C
> GcpsDotNetApi.dll!atexit(void (void)* func=0x04c70a3d) Line 127 +
> 0x9 bytes C
> GcpsDotNetApi.dll!`dynamic initializer for 'afxModuleState''() Line
> 66 + 0x14 bytes C++
> [Managed to Native Transition]
> GcpsDotNetApi.dll!_initterm(void** pfbegin = 0x04C7134C, void pfend =
> ) Line 130 C++
>
> GcpsDotNetApi.dll!<CrtImplementationDetails>::LanguageSupport::InitializeNative()
> Line 534 C++
>
> GcpsDotNetApi.dll!<CrtImplementationDetails>::LanguageSupport::_Initialize()
> Line 680 C++
>
> GcpsDotNetApi.dll!<CrtImplementationDetails>::LanguageSupport::Initialize()
> Line 824 + 0x9 bytes C++
> GcpsDotNetApi.dll!?.cctor@@$$FYMXXZ() Line 872 C++
>
> Can you make any sense of it?

This is a LOT more useful. It looks like the problem is with global
variable or members of a global variable afxModuleState, and registering
destructors to automatically run.

I think whatever you did to "fix" VS2005 is causing the trouble. Can you
undo that, probably by making sure than the entry point name is not
specified in the project properties?

>
> Regards,


From: Ben Voigt [C++ MVP] on
�ystein Skotheim wrote:
> Giovanni Dicanio wrote:
>
>>> I run the program from within Visual Studio 2008 by clicking on
>>> "Start debug".
>>
>>> '<CrtImplementationDetails>.ModuleLoadException' occurred in
>>> msvcm80.dll
>>
>> I read "msvcm80.dll" in your post ... But I think that if you use
>> VS2008, the number in the tail should be "90" (not "80")...
>>
>> Are you mixing code and DLLs built with VS2008 with code and DLLs
>> built with VS2005?
>
> Sorry, it was a typing error. I use VS2005, and all my code is
> compiled with this version of Visual Studio. Thanks for being
> observant :-)

Hmm, then what I just said (undoing VS2005-specific fixes) won't be much
help.

Can you try with VS2008? There's a free version of the C++ compiler and
basic IDE (no plugins usable) called Visual C++ 2008 Express Edition.

>
> Regards,


From: Ben Voigt [C++ MVP] on
Giovanni Dicanio wrote:
> "�ystein Skotheim" <oystein(a)dontspam.me> ha scritto nel messaggio
> news:g6p6ol$74s$1(a)kuling.itea.ntnu.no...
>
>> Perhaps I should say that I first ran into another problem with my
>> application in debug mode, namely a crash during startup telling
>> "Assertion Failed! Expression: _CrtIsValidHeapPointer(pUserData)." It
>> seems like this was caused by some native, global, static variables
>> (e.g. STL lists) present in "GcpsDotNetApi.dll". After searching on
>> the net for a while, I found a workaround telling me to force the
>> symbol define "__DllMainCRTStartup(a)12" to enable running of some CRT
>> initialization code. This made the error go away. I do not know if
>> the problem that I experience now might be related to the same issue.
>
> Just for test, could you avoid "automatic" global/static variables
> initialization, and instead pack them somewhere in a struct, and
> *explicitly* call an initialization function?
> e.g. the DLL exports something like "<DLL Name>_Init", so this
> function does the initialization of the "global" variables, packed in
> a struct. The client of the DLL explicitly calls this DLL initialization
> function.

Maybe not, if these globals are constructed inside library code and not his
own.

>
> ...just a test, to try to understand if this is the problem.
>
> Giovanni


From: Øystein Skotheim on
Ben Voigt [C++ MVP] wrote:

>> Hello again and thank you for your answer. I tried to do debug as you
>> suggested. Now the debugger stops on line 109 of file atonexit.c:
>>
>> retval = __dllonexit(func, &onexitbegin, &onexitend);

>
> This is a LOT more useful. It looks like the problem is with global
> variable or members of a global variable afxModuleState, and registering
> destructors to automatically run.
>
> I think whatever you did to "fix" VS2005 is causing the trouble. Can you
> undo that, probably by making sure than the entry point name is not
> specified in the project properties?

Hello. I tried to remove these "fixes", but the application still
crashes at the same point.

I discovered one difference in the project settings for
GcpsDotNetApi.dll between debug and release modes. In release mode the
"/NOENTRY" option was given to the linker, whether this was not done in
debug mode.

I tried to remove this option in release mode, but then I do not manage
to link this DLL any more due to the following error:

mfcs80.lib(dllmodul.obj) : error LNK2005: _DllMain(a)12 already defined in
MSVCRT.lib(dllmain.obj)

I tried to follow advice in this support article:
http://support.microsoft.com/default.aspx?scid=kb;en-us;q148652

I insert "mfcs80.lib;msvcrt.lib" in the ignore libraries box, and then I
list these libraries in the input box before all other items, starting
with the MFC library. However, I still get the same error when linking.

Do you that this "/NOENTRY" option could cause the crash of my application?

This is the output of the linker with /VERBOSE:lib option.

------ Build started: Project: GcpsDotNetApi, Configuration: Release
Win32 ------
Linking...
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
Searching libraries
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
mfcs80.lib(dllmodul.obj) : error LNK2005: _DllMain(a)12 already defined in
msvcrt.lib(dllmain.obj)
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Finished searching libraries
Searching libraries
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Finished searching libraries
Searching libraries
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfcs80.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrt.lib:
Searching ..\libhvutil\release\LibHvUtilSim.lib:
Searching ..\release\GCPS.lib:
Searching ..\..\Geom3D\trunk\Geom3D\release\Geom3DLib.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\OLDNAMES.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\MSVCMRT.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\MSCOREE.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\msvcprt.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\mfc80.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\lib\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\msimg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\shlwapi.lib:
Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oledlg.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\urlmon.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbc32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\odbccp32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\daouuid.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\atlmfc\lib\atls.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\ws2_32.lib:
Searching C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib\mswsock.lib:
Finished searching libraries
C:\SVN2\Auto3D\3DWorkBench\Release\GcpsDotNetApi.dll : fatal error
LNK1169: one or more multiply defined symbols found
Build log was saved at
"file://c:\SVN2\Auto3D\3DWorkBench\GcpsDotNetApi\Release\BuildLog.htm"
GcpsDotNetApi - 2 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 3 up-to-date, 0 skipped ==========

Regards,
--

�ystein Skotheim
Scientist, Optical Measurement Systems and Data Analysis
SINTEF ICT, Trondheim, Norway