13914 Hits
Created on 09/27/2007 14:16
Update of simulation libraries compiled for Visual C++ 2005 (lib/vc80-release/*.lib and lib/vc80-debug/*.lib), to allow linking from the Visual Studio IDE.
In the OMNeT++ 3.3 Windows binary release (omnetpp-3.3-win32.exe), the simulation libraries were compiled for Visual C++ 2005 (VC++ 8.0) with incorrect compiler flags, which caused linker errors when building DEBUG mode simulation executables in the Visual Studio IDE. (Using opp_nmakemake generated makefiles, and building non-debug executables from the IDE were OK.)
Details: CFLAGS_DEBUG missed the /MTd flag, which caused the simulation kernel .obj files to pull in the non-debug standard C library. Since the IDE compiles simulation models with /MTd, model .obj files pulled in the debug-mode standard C library, and this caused linker conflicts between the debug and non-debug standard C libs. This package contains debug libs compiled with /MTd. (Note1: CFLAGS_RELEASE also missed /MT, but that was no problem because that's the default in VC8.0. Note2: /MT and /MTd specify multi-threading libs. OMNeT++ is still NOT thread-safe (i.e. not reentrant), but VC8.0 no longer contains a single-threaded standard C lib, i.e. VC7.1's /ML, /MLd flags are no longer supported.
Installation:
1. copy the provided files into your OMNeT++ installation (into lib\vc80-release and lib\vc80-debug, and either the debug or the release libs into lib/).
2. modify configuser.vc: add /MTd to CFLAGS_DEBUG, and /MT to CFLAGS_RELEASE, and recompile simulation models that use opp_nmakemake generated makefiles. This step is not necessary if you don't want to build anything using opp_nmakemake generated makefiles.
Please send questions/comments to the mailing list.
In the OMNeT++ 3.3 Windows binary release (omnetpp-3.3-win32.exe), the simulation libraries were compiled for Visual C++ 2005 (VC++ 8.0) with incorrect compiler flags, which caused linker errors when building DEBUG mode simulation executables in the Visual Studio IDE. (Using opp_nmakemake generated makefiles, and building non-debug executables from the IDE were OK.)
Details: CFLAGS_DEBUG missed the /MTd flag, which caused the simulation kernel .obj files to pull in the non-debug standard C library. Since the IDE compiles simulation models with /MTd, model .obj files pulled in the debug-mode standard C library, and this caused linker conflicts between the debug and non-debug standard C libs. This package contains debug libs compiled with /MTd. (Note1: CFLAGS_RELEASE also missed /MT, but that was no problem because that's the default in VC8.0. Note2: /MT and /MTd specify multi-threading libs. OMNeT++ is still NOT thread-safe (i.e. not reentrant), but VC8.0 no longer contains a single-threaded standard C lib, i.e. VC7.1's /ML, /MLd flags are no longer supported.
Installation:
1. copy the provided files into your OMNeT++ installation (into lib\vc80-release and lib\vc80-debug, and either the debug or the release libs into lib/).
2. modify configuser.vc: add /MTd to CFLAGS_DEBUG, and /MT to CFLAGS_RELEASE, and recompile simulation models that use opp_nmakemake generated makefiles. This step is not necessary if you don't want to build anything using opp_nmakemake generated makefiles.
Please send questions/comments to the mailing list.
