From: Ashutosh on
I think I need to use /MT switch instead of /MD
I will try with that!

Ashutosh wrote:
> Hi,
> Thanks all for your help/comments! :)
> I library that I have to link with my project doesn't have a project
> file. It uses makefiles(its very complex)
> Can you please tell me where to change the settings for linking MFC
> statically. Actually, I don't think that this library is using MFC
> (99.99% sure).
> I checked the options for 'cl.exe' and 'link.exe' but found no options
> for that.
> the flags being used for cl are
> /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -I"C:\Program
> Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include"
> and for linker it's
> /nologo /subsystem:console /opt:ref /LIBPATH:"C:\Program Files\Microsoft
> Visual Studio 8\VC\PlatformSDK\Lib"
> If this library/dll is not using MFC then what needs to be done so that
> it doesn't create any problem when used in another project which links
> MFC statically?
> Regards,
> Ashutosh
> Charles Wang [MSFT] wrote:
>> Hi Ashutosh,
>> I understand that you encountered the link error when you build the
>> third party library in statically link.
>> If I have misunderstood, please let me know.
>> From the error message, it is a common seen issue. You do not need to
>> exclude libcmt.lib from linking. I recommend that you check if all the
>> dependency projects or libraries are compiled with the same setting
>> /MT[d]. Ensure that all of them have one setting here. You can find
>> this setting at Project Properties->Configuration Properties-> C/C++
>> -> Code Generation-> Runtime Library.
>> For more information, you may refer to this article:
>> Linking to MFC/CRT dynamically and statically in one image
>> Hope this helps. If you have any other questions or concerns, please
>> feel free to let me know.
>> Best regards,
>> Charles Wang
>> Microsoft Online Community Support
>> ===========================================================
>> Delighting our customers is our #1 priority. We welcome your comments
>> and suggestions about how we can improve the support we provide to
>> you. Please feel free to let my manager know what you think of the
>> level of service provided. You can send feedback directly to my
>> manager at: msdnmg(a)
>> ===========================================================
>> Get notification to my posts through email? Please refer to
>> ications.
>> Note: The MSDN Managed Newsgroup support offering is for non-urgent
>> issues where an initial response from the community or a Microsoft
>> Support Engineer within 1 business day is acceptable. Please note that
>> each follow up response may take approximately 2 business days as the
>> support professional working with you may need further investigation
>> to reach the most efficient resolution. The offering is not
>> appropriate for situations that require urgent, real-time or
>> phone-based interactions or complex project analysis and dump analysis
>> issues. Issues of this nature are best handled working with a
>> dedicated Microsoft Support Engineer by contacting Microsoft Customer
>> Support Services (CSS) at
>> ============================================================
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> =========================================================
From: David Wilkinson on
Ashutosh wrote:
> I think I need to use /MT switch instead of /MD

Yes indeed, if you want static linking.

[If you want to static link MFC, you must static link CRT.]

David Wilkinson
Visual C++ MVP
From: Ashutosh on
Thanks everyone for your help!
I got it working the way I wanted :)


David Wilkinson wrote:
> Ashutosh wrote:
>> I think I need to use /MT switch instead of /MD
> Yes indeed, if you want static linking.
> [If you want to static link MFC, you must static link CRT.]