News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

MS Toolkit, MSVC runtime options

Started by zieQ, July 28, 2005, 11:38:27 AM

Previous topic - Next topic

zieQ

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 ?

rickg22

Perhaps we could make 2 versions:

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

fev

Quote from: zieQ on July 28, 2005, 11:38:27 AM

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

zieQ

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

fev

#4
Quote from: zieQ 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

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).

Quote from: zieQ on August 02, 2005, 04:31:28 PM
- 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