Решение для: LNK4098 и NMAKE: фатальная ошибка U1052? - PullRequest
0 голосов
/ 09 марта 2020

У меня есть make-файл "nt.mak":


!IFNDEF FMDIR
!ERROR Please provide the path to the FM SDK
!ELSE IFNDEF CPROVDIR
!ERROR Please provide the path to the CPROVDIR
!ENDIF

NAME=rsaenc
!IFNDEF FM_BIN
FM_BIN=fm-$(NAME)
!ENDIF
!IFNDEF OUTDIR
OUTDIR=..\output
!ENDIF

EMULIBS= emufmcprov.lib emufmciphobj.lib emufmemul.lib $(WINLIBS)
WINLIBS= user32.lib advapi32.lib
INCDIR=-I"$(FMDIR)/include" -I"$(CPROVDIR)/include" -I../include
CFLAGS=-nologo -D EMUL -D _WINDOWS -D WIN32 -D IS_LITTLE_ENDIAN $(INCDIR)
LFLAGS=-nologo -INCREMENTAL:NO  -LIBPATH:"$(FMDIR)/lib" -LIBPATH:"$(CPROVDIR)/lib" $(EMULIBS)

!IF "$(CONFIGURATION)" == "Debug" || DEFINED (DEBUG)
!MESSAGE Using Debug Mode
CFLAGS=$(CFLAGS) -MTd -Zi -Od
!ELSE
CFLAGS=$(CFLAGS) -MT -Ox
!ENDIF

OUT=-DLL -OUT:
OBJDIR=obj
EXT_OBJ=.obj
EXT_BIN=.dll
LN=-link
RM=-del /q
RMDIR=-rmdir /q /s
OUTFILE=$(FM_BIN)$(EXT_BIN)
OUTPUT=$(OUTDIR)\$(OUTFILE)

OBJ_FILES=$(OBJDIR)/hdr$(EXT_OBJ) \
            $(OBJDIR)/$(NAME)$(EXT_OBJ)

all: $(OUTDIR) $(OBJDIR) $(OUTPUT)
# Build the FM library
$(OUTPUT): $(OBJ_FILES)
    $(LN) $(LFLAGS) $(OUT)$@ $?

.c{$(OBJDIR)}$(EXT_OBJ)::
    $(CC) $(CFLAGS) -c $< -Fo$(OBJDIR)/

$(OUTDIR) $(OBJDIR):
    -mkdir $@

clean:
    $(RM) $(OUTPUT)
    $(RMDIR) $(OBJDIR)
rebuild: clean all

, но выдает ошибку:

ССЫЛКА: предупреждение LNK4098: defaultlib 'MSVCRT' конфликтует с использованием других ЛИЭС; используйте / NODEFAULTLIB: library`

Я пытался nmake -f nt.mak /NODEFAULTLIB:MSVCRT, но он дает только

NMAKE: фатальная ошибка U1052: файл 'AULTLIB: MSVCRT' не найден

Где мне разместить /NODEFAULTLIB:library?

...