A place to discuss everything related to Newton Dynamics.
Moderators: Sascha Willems, walaber
by __fastcall » Tue Sep 22, 2009 1:05 am
Hi; I'm a new user to Newton (2.0.9), and I'm quite impressed with the library! Why are different compilations (msvc9) of the newton library are all named "newton.lib" and are all scattered in different folders? When a project requires "newton.lib," how are you supposed to know if the project needs the multi-threaded static lib build or the multi-threaded DLL build? How do you know if it needs the debug version of the library? In order to change which newton library to link to; Microsoft Visual Studio users will need to change the newton library directory for each project. Also, why is the double precision library only available multi-threaded debug DLL?
My suggestion would be to place all of the seven possible libs and follow a naming convention such as this one:
newton[-dbl][-s][-d].lib
-dbl = for double precision
-s = for static library (/MT or /MD)
-d = for debug library (/MTd or /MDd)
Thoughts?
-
__fastcall
-
- Posts: 1
- Joined: Tue Sep 22, 2009 12:22 am
by Julio Jerez » Tue Sep 22, 2009 2:09 am
md stand multilthreaded dll, meaning that it will link to the runtime windows DLL
mt stand for multithreaded meaning that it will link to static runtime library
when you set your project you can specify the path to where to read the static newton library from.
you can remame the static libraries if you wish to do so.
if you use Newton dlls linkkage, then it does not matters because the DLL is linked to the Runtime windows DLL, this way it will run in all configurations regarless of what static library you link your project too.
This makes the DLL about 50% bigger but it saves from having to make a huge installeation package with Redistribution runtime libraries.
-
Julio Jerez
- Moderator
-
- Posts: 12249
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
Return to General Discussion
Who is online
Users browsing this forum: No registered users and 55 guests