[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] compiling a Dll in release mode using external ibraries



From your settings, it seems that the project is linked against the DLL version of the compiler libraries

<Tool Name="VFFortranCompilerTool" AdditionalOptions= … RuntimeLibrary="rtMultiThreadedDebugDLL" …

You could try linking against the static version of those libs:

<Tool Name="VFFortranCompilerTool" AdditionalOptions= … RuntimeLibrary="rtMultiThreadedDebug"

(that is for the debug configuration, for the release configuration just delete RuntimeLibrary=”…” since the static version seems to be the default).

 

The equivalent setting is:

Project Properties > Fortran > Libraries > Runtime Library

Choose “Multithreaded” for the Release configuration, and “Debug Multithreaded (/libs:static /threads /dbglibs)” for the Debug configuration.

 

With those settings, your Type DLL should not require the compiler DLLs at runtime. However, if you are using a precompiled form of the Lapack libraries that does require them, the problem will still be there, in which case I think David’s option (point your users to the compiler redistributables for the proper compiler version) is the best workaround.

 

Michaël Kummert

Polytechnique Montréal

 

 

 

From: TRNSYS-users <trnsys-users-bounces@lists.onebuilding.org> On Behalf Of David BRADLEY via TRNSYS-users
Sent: August 12, 2020 10:42
To: TRNSYS users mailing list at OneBuilding.org <trnsys-users@lists.onebuilding.org>
Cc: David BRADLEY <d.bradley@tess-inc.com>; Dani Carbonell Sanchez <dani.carbonell@ost.ch>
Subject: Re: [TRNSYS-users] compiling a Dll in release mode using external ibraries

 

Some time ago, I had a similar situation with some different libraries. I think that the solution in my case was that I found something called the "microsoft redistributable libraries" that I had to include with my Type dll. It may be that LAPACK and BLAS have a similar requirement for distributable versions of their library.

best,

 David

 

On 08/12/2020 01:08, Dani Carbonell Sanchez via TRNSYS-users wrote:

Dear TRNSYS team

We have developed a type that depends on external libraries LAPACK and BLAS.

We compiled the dll using the Intel Visual Fortran Composer XE for Windows.

Attached you will find the settings used.

The problem with this dll is that any user need to install the Intel Visual Composer XE for Windows.

Is there a way to compile a dll that has all dependencies inside such that the user don't need

neither the compiler nor the external libraries?

 

Thanks for your help.

Best regards,

Dani



_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@lists.onebuilding.org
http://lists.onebuilding.org/listinfo.cgi/trnsys-users-onebuilding.org
-- 
***************************
David BRADLEY
Principal
Thermal Energy Systems Specialists, LLC
3 North Pinckney Street - suite 202
Madison, WI  53703 USA
 
P:+1.608.274.2577
F:+1.608.278.1475
d.bradley@tess-inc.com
 
http://www.tess-inc.com
http://www.trnsys.com