When you build dynamically on Windows with VS there are 2 files:
When you link, as in the Matlab Makefile, you only link with the .lib files. It finds the .dll files at run-time.
When you build statically on Windows with VS there is only a .lib file, which contains both the symbols and the code. It does not need to find .dll files at run-time.
I am sure pretty sure that Matlab is linking to the dynamic DLLs for ca and Com.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Wang, Andrew via Tech-talk <tech-talk at aps.anl.gov>
Sent: Monday, April 28, 2025 8:01 PM
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: Unable to mind .lib files after successfully compiling EPICS using mingw64
Hi all,
I have been tasked with building EPICS on Windows. I was able to get it compiling using mingw64. I basically followed the instructions here (https://docs.epics-controls.org/en/latest/getting-started/installation-windows-msys2.html),
albeit I did not use the tar.gz file. I instead cloned the epics-base repository.
I have been able to run an IOC and all of that. However, now I am trying to get mca to work, which requires com.lib and ca.lib. However, I do not see these
in my lib directory. I only find com.dll.a and ca.dll.a, which to my understanding is not a static library.
The examples compilations in mca all use .lib. (https://github.com/epics-extensions/matlab_ca/blob/master/alt_compile/mcacompile_win64_mscc.m)
Please advise?
Purple
ribbon awareness
|