Author Topic: MS Toolkit, MSVC runtime options  (Read 9373 times)

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
MS Toolkit, MSVC runtime options
« on: July 28, 2005, 11:38:27 am »
Hi,

First good news: the Visual C++ Toolkit compiler plugin in C::B seems to work with Visual .NET 2003. I guess it would work with any version of Visual C++. That's why I think the compiler plugin may be renamed to Visual C++  :P

During visual imports corrections, I added some options to the compiler plugin:
- a missing /Od for no optimization (debug), set by default by cl.exe.
- a bunch of options for runtime libraries linking: /MT /MTd /MD /MDd /ML /MLd (see http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/vccore/html/_core_.2f.MD.2c_2f.ML.2c_2f.MT.2c_2f.LD.asp) which are fundamental with Visual C++ to avoid conflicts between libraries which are compiled with different options.

However I know some of the runtime libraries are missing in the Visual Toolkit/Platform SDK: those corresponding to /MDd /MD and /MTd when we include STL (libcp*.lib msvcp*.lib conterparts). Seems that they are not downloadable separatly for free. So I don't know how to set correctly the options either in the visual importer or in the msvc compiler plugin.
- It would be could to be able to use different version of Visual C++ for extensibility purpose, so I would not modify the new options of the msvc compiler plugin
- But we may provide a way to disable the options when libraries are missing, maybe in the compiler detection ??

I cannot send the patch for the compiler plugin or the visual imports before tonight, sorry!
What is you opinion about my problem ? What should I do with those options ?

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: MS Toolkit, MSVC runtime options
« Reply #1 on: July 28, 2005, 04:57:09 pm »
Perhaps we could make 2 versions:

"MS Visual C++ Toolkit"
and
"MS Visual C++ / .NET" or something...

Offline fev

  • Single posting newcomer
  • *
  • Posts: 3
    • http://
Re: MS Toolkit, MSVC runtime options
« Reply #2 on: August 02, 2005, 02:19:12 pm »

However I know some of the runtime libraries are missing in the Visual Toolkit/Platform SDK: those corresponding to /MDd /MD and /MTd when we include STL (libcp*.lib msvcp*.lib conterparts). Seems that they are not downloadable separatly for free.

msvcrt.lib (/MD option) is available in .NET framework SDK (free). I'm not sure, but I think that there is also a debug version (/MDd). After installing .NET sdk, those libs should be somwhere in C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7 (IIRC).

cheers

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
Re: MS Toolkit, MSVC runtime options
« Reply #3 on: August 02, 2005, 04:31:28 pm »
Well, I know there's some additionnal libraries in .NET framework SDK, but there's still some missing libraries:
- the multithreaded release runtimes shipped with STL, i.e. /MT and /MD when using STL, corresponding to libraries libcpmt.lib, msvcprt.lib
- all the multithreaded debug ones, i.e. /MTd and /MDd, corresponding to libraries msvcrtd.lib, msvcprtd.lib, libcmtd.lib, libcpmtd.lib

Offline fev

  • Single posting newcomer
  • *
  • Posts: 3
    • http://
Re: MS Toolkit, MSVC runtime options
« Reply #4 on: August 02, 2005, 05:54:49 pm »
Well, I know there's some additionnal libraries in .NET framework SDK, but there's still some missing libraries:
- the multithreaded release runtimes shipped with STL, i.e. /MT and /MD when using STL, corresponding to libraries libcpmt.lib, msvcprt.lib

Well you should look better then  :P , because I didn't had any problems with /MT.
I can't remember where I found apropriate files (either in vctoolkit, platformSDK or .NET sdk) but when I was using those free
packages I could build static dll's (they used stl) with no probs :-/ (IIRC libcpmt.lib is in lib directory of VC++ toolkit).

- all the multithreaded debug ones, i.e. /MTd and /MDd, corresponding to libraries msvcrtd.lib, msvcprtd.lib, libcmtd.lib, libcpmtd.lib

Yeah. These are surely not available (for free).
Although I experimented with the files provided for ia64 in platform sdk. "64-bit versions" of the libs you mentioned are available in platformSDK, and in many cases they correctly linked with my apps. To my surprise if compilation/linking went fine, the application also worked fine (I didnt made any in-depth tests though).

cheers
« Last Edit: August 02, 2005, 09:13:25 pm by fev »