开发者

on Vista (SP2) 64-bit :Why is my C/C++ Runtime (CRT) Assembly cache not visible to my app?

开发者 https://www.devze.com 2023-03-04 16:25 出处:网络
hi to all VC++ and WIndows experts! ;) Firstly, my background: Vstudio, C & C++, Windows.(so you can get techy with me, if u want).

hi to all VC++ and WIndows experts! ;)

Firstly, my background: Vstudio, C & C++, Windows.(so you can get techy with me, if u want). After 5days of trying all kinds of possibilities, and forums and fixes and even changing O/S platforms , I've decided to post here(or jump out of a window!) I'm in AGONy trying to solve this issue, as it's holding up my actual development work!! . :)

Soo.. sceratio is: Development machine where problem is occurring: OS: Windows Vista 64-bit with SP2 (even though identical problem occurring on an 32-bit XP SP2 virtual machine , running using VMWare. Development IDE: Visual Studio 2008 with SP1 installed. Output Binary type: .DLL (it's destiny is to becomea plug-in for a a dev. IDE caled RealStudio)

Issue/Problem: I'm developing a 32-bit C++ DLL uing VStudio 2008. 开发者_StackOverflow中文版It is to include a rather medium-large C++ library called ASDCP(used for audio/video codec processing ) - which is written in PURE C++ and has full built-in support for building on Win32, Linux, MacOS etc.

Now the ASDCP library utilises the C++ Standard library(stored in MSVCP90.dll and.lib files). So, when I build my own plug-in(DLL), and allow it's caller app(called RealStudio, another development IDE), WITHOUT the ASCP library(and hence no need for C++ Std. Libs being linked in), it works fine. but when I add the code from the ASDCP library, and choose to STATIC Link(/MT) the C++ runtime libraries, and then load up the plugin and run up RealStudio, it's bominb out with a memory leak- probably "Access violation" - probably caused by some mismatch between the various DLLs.


Now, my question for this post is, when I dynamically link the CRT in VStudio 2008, and then try and load the plugin by rnnign RealStudio- the damn thing simply is unable to find the Side-by-Size ASSEMBLY CACHE for Microsoft.CRT.VC90!! I have worked with all the manifest files, embedded the manifest file in to the DLL, checked (about 10 times!) versions of the CRTs in the WinSxs Assembly cache, aganst my manifest file/dependancy needs.

But somehow...... RealStudio(RunAs Admiistrator) is unable to LOAD my CRT 9 DLLs(MSVCP90.dll in particular). I've spent aboutr 15 hours on MSDN and other forums looking at smilar issues and solutions, AND impleented the solutions as receommended by Microsoft's forum moderators. but to no avail.

So.. HOW do you get a 32-bit C++ DLL, running under 64-Windows(Vista SP2), to "see" the Assembl cache for the relevant CRT dependacy and load it up??????

HELP!?!?! pleasee..

Deep gratitude in advance for helping me become sane again!

Dinesh


build your managed project for platform target x86. I mean, don't build it for "Any CPU".

0

精彩评论

暂无评论...
验证码 换一张
取 消