Skip to main content
Solved

libaimms3.lib not included in AIMMS 24.x installation

  • February 5, 2026
  • 1 reply
  • 39 views

Starting with Aimms-24.1.8.2-x64-VS2022.exe, the installation no longer seems to include the libaimms3.lib import library, while earlier versions did.

I could not find any release notes, documentation, or blog posts explaining this change.
Could you clarify:

Whether the removal of libaimms3.lib from the installer is intentional

What the recommended approach is for linking against the AIMMS API in 24.x and later (e.g., dynamic loading, generating the import library, or obtaining it separately)

Any guidance or references to official documentation would be appreciated.

Best answer by MarcelRoelofs

Hi ​@SummerBlue 

Starting with AIMMS 24, we moved over to a completely new build system called conan, and the creation of the IFA somehow went awry wrt the inclusion of libaimms3.lib. We didn't notice it ourselves before, because we link against AIMMS using the conan packages being created during the AIMMS build directly. We will fix it for upcoming releases.

In the meantime, it is fairly easy to create an import library yourself, using the following batch file:

REM Usage: dll2lib [32|64] some-file.dll
REM
REM Generates some-file.lib from some-file.dll, making an intermediate
REM some-file.def from the results of dumpbin /exports some-file.dll.
REM Currently must run without path on DLL.
REM (Fix by removing path when of lib_name for LIBRARY line below?)
REM
REM Requires 'dumpbin' and 'lib' in PATH - run from VS developer prompt.
REM
REM Script inspired by http://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll
@echo off

SETLOCAL
if "%1"=="32" (set machine=x86) else (set machine=x64)
set dll_file=%2
set dll_file_no_ext=%dll_file:~0,-4%
set exports_file=%dll_file_no_ext%-exports.txt
set def_file=%dll_file_no_ext%.def
set lib_file=%dll_file_no_ext%.lib
set lib_name=%dll_file_no_ext%

dumpbin /exports %dll_file% > %exports_file%

echo LIBRARY %lib_name% > %def_file%
echo EXPORTS >> %def_file%
for /f "skip=19 tokens=1,4" %%A in (%exports_file%) do if NOT "%%B" == "" (echo %%B @%%A >> %def_file%)

lib /def:%def_file% /out:%lib_file% /machine:%machine%

REM Clean up temporary intermediate files
del %exports_file% %def_file% %dll_file_no_ext%.exp

 

1 reply

MarcelRoelofs
AIMMSian
Forum|alt.badge.img+5
  • AIMMSian
  • Answer
  • February 6, 2026

Hi ​@SummerBlue 

Starting with AIMMS 24, we moved over to a completely new build system called conan, and the creation of the IFA somehow went awry wrt the inclusion of libaimms3.lib. We didn't notice it ourselves before, because we link against AIMMS using the conan packages being created during the AIMMS build directly. We will fix it for upcoming releases.

In the meantime, it is fairly easy to create an import library yourself, using the following batch file:

REM Usage: dll2lib [32|64] some-file.dll
REM
REM Generates some-file.lib from some-file.dll, making an intermediate
REM some-file.def from the results of dumpbin /exports some-file.dll.
REM Currently must run without path on DLL.
REM (Fix by removing path when of lib_name for LIBRARY line below?)
REM
REM Requires 'dumpbin' and 'lib' in PATH - run from VS developer prompt.
REM
REM Script inspired by http://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll
@echo off

SETLOCAL
if "%1"=="32" (set machine=x86) else (set machine=x64)
set dll_file=%2
set dll_file_no_ext=%dll_file:~0,-4%
set exports_file=%dll_file_no_ext%-exports.txt
set def_file=%dll_file_no_ext%.def
set lib_file=%dll_file_no_ext%.lib
set lib_name=%dll_file_no_ext%

dumpbin /exports %dll_file% > %exports_file%

echo LIBRARY %lib_name% > %def_file%
echo EXPORTS >> %def_file%
for /f "skip=19 tokens=1,4" %%A in (%exports_file%) do if NOT "%%B" == "" (echo %%B @%%A >> %def_file%)

lib /def:%def_file% /out:%lib_file% /machine:%machine%

REM Clean up temporary intermediate files
del %exports_file% %def_file% %dll_file_no_ext%.exp

 


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator