You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.2 KiB
106 lines
3.2 KiB
// ForceLib.h -- Forces correct link order when mixing C Run-Time
|
|
// (CRT) and MFC libraries
|
|
|
|
// (c) Copyright Schlumberger Technology Corp., unpublished work, created
|
|
// 1998. This computer program includes Confidential, Proprietary
|
|
// Information and is a Trade Secret of Schlumberger Technology Corp. All
|
|
// use, disclosure, and/or reproduction is prohibited unless authorized
|
|
// in writing. All Rights Reserved.
|
|
|
|
#if !defined(SLBCSP_FORCELIB_H)
|
|
#define SLBCSP_FORCELIB_H
|
|
|
|
// From MSDN Knowledge Base article ID: Q148652, when mixing the CRT
|
|
// and MFC, the linker may complain about symbols already defined in
|
|
// other CRT/MFC modules. One fix is to always include Afx.h directly
|
|
// or indirectly through StdAfx.h but if the module doesn't use MFC,
|
|
// then this header file can be used to force the right link order.
|
|
|
|
// This head file was created from ..\MsDev\MFC\Include\Afx.h
|
|
|
|
#ifndef _AFX_NOFORCE_LIBS
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Win32 libraries
|
|
|
|
#ifndef _AFXDLL
|
|
#ifndef _UNICODE
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "nafxcwd.lib")
|
|
#else
|
|
#pragma comment(lib, "nafxcw.lib")
|
|
#endif
|
|
#else
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "uafxcwd.lib")
|
|
#else
|
|
#pragma comment(lib, "uafxcw.lib")
|
|
#endif
|
|
#endif
|
|
#else
|
|
#ifndef _UNICODE
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "mfc42d.lib")
|
|
#pragma comment(lib, "mfcs42d.lib")
|
|
#else
|
|
#pragma comment(lib, "mfc42.lib")
|
|
#pragma comment(lib, "mfcs42.lib")
|
|
#endif
|
|
#else
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "mfc42ud.lib")
|
|
#pragma comment(lib, "mfcs42ud.lib")
|
|
#else
|
|
#pragma comment(lib, "mfc42u.lib")
|
|
#pragma comment(lib, "mfcs42u.lib")
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef _DLL
|
|
#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)
|
|
#pragma comment(lib, "msvcrtd.lib")
|
|
#else
|
|
#pragma comment(lib, "msvcrt.lib")
|
|
#endif
|
|
#else
|
|
#ifdef _MT
|
|
#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)
|
|
#pragma comment(lib, "libcmtd.lib")
|
|
#else
|
|
#pragma comment(lib, "libcmt.lib")
|
|
#endif
|
|
#else
|
|
#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)
|
|
#pragma comment(lib, "libcd.lib")
|
|
#else
|
|
#pragma comment(lib, "libc.lib")
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
#pragma comment(lib, "kernel32.lib")
|
|
#pragma comment(lib, "user32.lib")
|
|
#pragma comment(lib, "gdi32.lib")
|
|
#pragma comment(lib, "comdlg32.lib")
|
|
#pragma comment(lib, "winspool.lib")
|
|
#pragma comment(lib, "advapi32.lib")
|
|
#pragma comment(lib, "shell32.lib")
|
|
#pragma comment(lib, "comctl32.lib")
|
|
|
|
// force inclusion of NOLIB.OBJ for /disallowlib directives
|
|
#pragma comment(linker, "/include:__afxForceEXCLUDE")
|
|
|
|
// force inclusion of DLLMODUL.OBJ for _USRDLL
|
|
#ifdef _USRDLL
|
|
#pragma comment(linker, "/include:__afxForceUSRDLL")
|
|
#endif
|
|
|
|
// force inclusion of STDAFX.OBJ for precompiled types
|
|
#ifdef _AFXDLL
|
|
#pragma comment(linker, "/include:__afxForceSTDAFX")
|
|
#endif
|
|
|
|
#endif //!_AFX_NOFORCE_LIBS
|
|
|
|
#endif // !defined(SLBCSP_FORCELIB_H)
|