deploying Matlab C++ library to 64 bit

2 次查看(过去 30 天)
I am currently developing a C++ program to interact with a C++ shared library created with Matlab R2007a compiler. Somehow, I cannot pass the initialization stage. First I call mclInitializeApplication(NULL,0)) and this goes ok. But when I call let's say MyFunctionInitialize() it fails.
Previously this was working but now when I deployed the application on a 64 - bit machine, it does not work anymore. Could the 64 bit environment be a problem?
Alina Badau

回答(3 个)

Friedrich
Friedrich 2011-7-14
Hi,
is the target OS of the same type like the OS where the DLL is compiled on? What error do you get?

Alina Badau
Alina Badau 2011-7-14
No, the DLL is compiled on a computer with OS: Windows XP and the taget machine has Windows server 2008 R2
  7 个评论
Friedrich
Friedrich 2011-7-14
Dont run the dep walker on the shared lib. Compile everything into an EXE and then make a RUNTIME PROFILE of that exe. The right steps for this are:
i) choose File -> open and select your application
ii) choose Profile -> start profiling
iii) a window pops up
iv) press okay
v) your applications should start now
vi) after your application finished running investigate the log for hints what went wrong.
You can also:
vii) choose File -> save as
viii) upload the dwi file somewhere an post the link here
Alina Badau
Alina Badau 2011-7-14
I compiled everything into a console application, deployed it on the target machine and first, it said that MSVCR100D.dll is missing. After placing that into exe directory, the application worked. But.. in my C++ program it is a little bit different because it is all packed into a win32 dll, called by a ASP .NET web application. There still fails, even after placing into the path directory MSVCR100D.dll requested before.

请先登录,再进行评论。


Friedrich
Friedrich 2011-7-14
Sounds like a missing redistributable package for Visual Studio 2010. Please install it on the target machine:
Copying DLLs from that package is not a good idea! Since you are running a 32bit application you need the 32bit redist. package.
  14 个评论
Friedrich
Friedrich 2011-7-14
It must be this issue. You can find some stuff in the internet talking about this missing DLL:
http://www.rhyous.com/2010/09/16/avoiding-the-msvcr100-dll-or-msvcr100d-dll/

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by