In VS2003 was het toevoegen van gecompileerde code erg eenvoudig.
Gewoon ervoor zorgen dat je dezelfde versie van de CRT gebruikte, en dan kon je de gecompileerde .lib gewoon includen in andere projecten zonder enig probleem.
In VS2005 is de situatie blijkbaar heel wat ingewikkelder.
Ik heb een unmanaged C++ project, waarmee ik een library creëer.
Een ander project maakt gebruik van deze library.
Op mijn machine werkt dit perfect (zoals dit in VS2003 werkte).
Het 2de project is openbaar en geef ik door aan andere mensen, samen met de library uit het eerste project. De code uit het eerste project moet verborgen blijven.
Deze aanpak werkt echter totaal niet meer in VS2005.
Het project compileert én linkt perfect, maar het programma kan niet uitgevoerd worden.
De gebruiker krijgt de foutmelding:
http://www.codeproject.com/cpp/vcredists_x86.asp
Ik heb al alle oplossingen die voorgesteld worden op die pagina geprobeerd. Zelfs statisch linken werkt niet. Zelfs als ik de library file op de machine waar de applicatie zal worden uitgevoerd aanmaak, dan nog krijg ik de bovenstaande fout.
Hoe los ik dit probleem op? Het moet toch nog altijd mogelijk zijn om gecompileerde code te verdelen aan derden (cfr. de oude VS2003 manier)?
De gebruikers werken wel in Visual C++ 2005 ipv Visual Studio, maakt dit iets uit?
Gewoon ervoor zorgen dat je dezelfde versie van de CRT gebruikte, en dan kon je de gecompileerde .lib gewoon includen in andere projecten zonder enig probleem.
In VS2005 is de situatie blijkbaar heel wat ingewikkelder.
Ik heb een unmanaged C++ project, waarmee ik een library creëer.
Een ander project maakt gebruik van deze library.
Op mijn machine werkt dit perfect (zoals dit in VS2003 werkte).
Het 2de project is openbaar en geef ik door aan andere mensen, samen met de library uit het eerste project. De code uit het eerste project moet verborgen blijven.
Deze aanpak werkt echter totaal niet meer in VS2005.
Het project compileert én linkt perfect, maar het programma kan niet uitgevoerd worden.
De gebruiker krijgt de foutmelding:
Ik heb al uitvoerig gezocht naar de oorzaak van dit probleem. Dit wordt veroorzaakt door een nieuwe manier van linken met de CRT. Zie ook de volgende pagina:Unable to start program 'programma'.
This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling this application may fix this problem. For more details, please see the application event log.
http://www.codeproject.com/cpp/vcredists_x86.asp
Ik heb al alle oplossingen die voorgesteld worden op die pagina geprobeerd. Zelfs statisch linken werkt niet. Zelfs als ik de library file op de machine waar de applicatie zal worden uitgevoerd aanmaak, dan nog krijg ik de bovenstaande fout.
Hoe los ik dit probleem op? Het moet toch nog altijd mogelijk zijn om gecompileerde code te verdelen aan derden (cfr. de oude VS2003 manier)?
De gebruikers werken wel in Visual C++ 2005 ipv Visual Studio, maakt dit iets uit?