Toon posts:

[VS2005] Incompatibiliteit tussen compilerversies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb samen met iemand een programma geschreven waar geen bugs meer in zitten. Het probleem zit hem in het compileren. We hebben beide dezelfde VS2005 geïnstalleerd, maar ik heb SP1 erop gezet. Dit resulteerde in verschillende versies van VS, wat ook vrij logisch is. Het vreemde hieraan is dat mijn versie van VS nieuwer is, maar de versie van mijn compiler is ouder.

Zodra we beide het programma hebben gecompileerd draait hij bij mijn collega prima, alleen bij mij niet. Ik ben stap voor stap door de code gegaan en ben geëindigd in malloc. Hier kon ik een stukje doorheen stappen en daarna draaide het programma spontaan door, zonder dat hij door malloc heen was (en zonder een return oid te zijn tegengekomen). Het programma verstuurt daarna nog wel netwerkgegevens, ontvangt ze niet meer, maar hij draait wel. Wat kan hier de oorzaak van zijn?

Mijn VS gegevens:
Microsoft Visual Studio 2005
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
Installed Edition: Professional
Microsoft Visual C++ 2005 77626-009-0000007-41650
Microsoft Visual Studio 2005 Professional Edition - ENU Service Pack 1 (KB926601)

VS gegevens van mijn collega:
Microsoft Visual Studio 2005
Version 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework
Version 2.0.50727
Installed Edition: Professional
Microsoft Visual C++ 2005 77626-009-0000007-41871
DevPartner for Visual C++ 8.1.1.129
Compuware DevPartner for Visual C++ BoundsChecker Suite

Verwijderd

Een van de verschillen die nogal wat problemen heeft veroorzaakt is dat tijdens de update naar SP1 ook gelijk de VC libs geupdate zijn. Check even of beide machines de zelfde libs hebben. De SP1 versies van de libs (SxS install package) kun je vinden in de VS2005 installatie onder SDK/v2.0/Bootstrapper/Packages/vsredist*

Het kan natuurlijk ook nog wat anders zijn maar zodra ik VS2005/SP1 hoor i.c.m. problemen op een non-SP1 systeem dan ligt het meestal aan de VC libs.

--Stefan

Verwijderd

Topicstarter
In de map die je noemde vind ik een redistributable uit december 2006, dus redelijk nieuw. Die van mijn collega is van september 2005. Voor de rest staat er in die map weinig nuttigs. Wat moet ik hieruit opmaken? :P

Verwijderd

Installeer die nieuwe redist op machines die de "oude" VC libs hebbben. Het is een side-by-side install dus er zal niets worden overschreven. Het probleem kan nl. zijn dat de verschillen tussen de twee lib versies een verschillende set exe/dll's produceren en zich dus anders gedragen (misdragen) op het moment dat een target gebouwd is met SP1 libs en dan op een non-SP1 machine loopt.

-- Stefan.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 30-11 00:17
Ik heb samen met iemand een programma geschreven waar geen bugs meer in zitten.
:)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.