Hi, I am doing porting from 32bit to 64 bit in win2k3 64 bit machine under vc 2005 studio. I downloaded the latest 64 bit lotus notes api from ibm site.The compilation is working fine but linking is giving error
link.exe /debug /pdb:debug/ndsrep.pdb /nologo /SUBSYSTEM:WINDOWS /machine:x64 /
libpath:…/…/notesapi/lib/mswin32 /libpath:. /NODEFAULTLIB:libc.lib advapi32.li
b user32.lib kernel32.lib notes0.obj notes.lib notesai0.obj debug/ndsrep.res deb
ug/n_ver.obj debug/arrent.obj debug/cfgdb.obj debug/config.obj debug/dnutil.obj
debug/entarray.obj debug/filter.obj debug/filtxml.obj debug/idtables.obj debug/n
dsrep.obj debug/noteinfo.obj debug/ws2unix.obj /out:debug/ndsrep.exe /map:debug/
ndsrep.map
LINK : fatal error LNK1104: cannot open file ‘libirc.lib’
And see the compiler options that i am using:
– set usedeps variable to create dependency (.d) files
#usedeps = 1
include $(BASE_PATH)/platform.mak
.PHONY : all fault
.SUFFIXES :
.SUFFIXES : .c .cpp .h .d .rc .obj .exe .res
– set programmables to environment or default values –
ifndef prog
fault :
$(ECHO) Program name not specified, are you using Makefile?
endif
ifndef build
fault :
$(ECHO) Build directory not specified, are you using Makefile?
endif
ifeq ($(build),debug)
PRECHECKIN = 1
else
PRECHECKIN = 0
endif
– include platform-independent source
include $(BASE_PATH)/NDSRep/Common/modules.mak
– platform-specific source files –
plat_src =
– all source files
src = $(plat_src) $(ndsrep_src)
– construct object file names from source file names
obj = $(patsubst %.c,$(build)/%.obj,$(patsubst %.cpp,$(build)/%.obj,$(src)))
– utility variables –
em :=
sp := $(em) $(em)
– setup include and library paths
inc = .;…;$(BASE_PATH)/NDSRep/win32;$(BASE_PATH)/NDSRep/Common;$(BASE_PATH)/notesapi/include
libpath = $(BASE_PATH)/notesapi/lib/mswin32;.
– compiler definitions –
#-------------------------------------------------------------------------------
Compiler flags - the non-obvious ones
USE_STL_NAMESPACE cause various STL-related code to use std:: for STL
functions. (std:: was not available on NetWare)
_CRT_SECURE_NO_DEPRECATE Tell the compiler not to whine about using functions
like strcpy instead of strcpy_s
_USE_32BIT_TIME_T As of Visual Studio 2005 time_t is a 64-bit quantity
by default. This causes a problem with SAL (in
particular SAL_HiResTime) because the SAL function
thinks it is 32-bits.
SAL_NO_DEPRECATED_APIS don’t declare functions that no longer exist in
SAL 3.0.
#-------------------------------------------------------------------------------
ccdefs = /D_WINDOWS /DWINDOWS /DUNICODE /D_UNICODE /DN_PLAT_WNT /DN_INC_NO_OLD_MACROS \
/DPRECHECKIN=$(PRECHECKIN) /D$(platform) /DDS_FOR_WIN32 /DSTRICT /DUSE_STL_NAMESPACE \
/D_CRT_SECURE_NO_DEPRECATE /DSAL_NO_DEPRECATED_APIS \
#-------------------------------------------------------------------------------
ccdefs = /DWIN32 \
/DW32 \
/DNT \
/D_WIN32
/D_WINDOWS \
/D_CONSOLE \
/D_MBCS \
/DUNICODE \
/DN_PLAT_WNT \
/DN_INC_NO_OLD_MACROS \
/DPRECHECKIN=$(PRECHECKIN) \
/D$(platform) \
/DSTRICT
-------------------------------------------------------------------------------
ccflags = /nologo /Zc:wchar_t- /Zi /W3 /Zp8 /Wp64 /Zel /EHa /c \
/Fd$(build)/$(prog).pdb \
/Fp$(build)/$(prog).pch \
/Fo$(build)/ \
/FI"pch.h" \
#-------------------------------------------------------------------------------
ccflags = /nologo \
/Zp8 /W3 /EHsc /c \
/Fd$(build)/$(prog).pdb \
/Fp$(build)/$(prog).pch \
/Fo$(build)/ \
/FI"pch.h" \
#------------------------------------------------------------
ccincs = /I"$(subst ;,“$(sp)/I”,$(inc))" \
/I"..\..\notesapi\include"
ifeq ($(build),debug)
ccflags += /MDd
/MDd /Od /RTC1
/MTd /Zi /Od
ccdefs += /D_DEBUG
else
ccflags += /ML /O2
/D_MT /MT /Zi /O2
ccdefs += /DNDEBUG
endif
ifeq ($(build),debug)
common_ccflags += /MDd /Od /RTC1
common_ccdefs += /D_DEBUG
else
common_ccflags += /MD /O2
common_ccdefs += /DNDEBUG
endif
#----------------------------------
# ifeq ($(platform),SAL_WIN32)
common_ccflags += /Zp4
common_ccdefs += /DWIN32 /D_USE_32BIT_TIME_T
common_lflags += /machine:x86
else
common_ccflags += /Zp8
common_ccdefs += /DWIN64
common_lflags += /machine:x64
endif
#----------------------------------
ccdefs += /DWIN64 /DNT
– linker definitions –
ifeq ($(build),debug)
lflags = /debug /pdb:$(build)/$(prog).pdb
else
lflags = /pdb:none
endif
libs = advapi32.lib user32.lib kernel32.lib notes0.obj notes.lib notesai0.obj
kernel32.lib user32.lib gdi32.lib advapi32.lib comctl32.lib winspool.lib comdlg32.lib bufferoverflowU.lib advapi32.lib user32.lib kernel32.lib sal.lib \
advapi32.lib user32.lib kernel32.lib \
lflags += /nologo /SUBSYSTEM:WINDOWS /machine:x64 \
/libpath:$(subst ;,$(sp)/libpath:,$(libpath)) \
/NODEFAULTLIB:libc.lib
– resource compiler definitions –
ifeq ($(build),debug)
rflags = /d_DEBUG /d_WIN64 /dWIN64
else
rflags += /dNDEBUG /d_WIN64 /dWIN64
endif
#----------------------------
ifeq ($(build),debug)
rflags = /d_DEBUG /d_WIN32 /dWIN32
else
rflags += /dNDEBUG /d_WIN32 /dWIN32
endif
#----------------------------
– tool names –
link = link.exe
cc = cl.exe
rc = rc.exe
– make system pattern search paths –
VPATH = $(BASE_PATH)/NDSRep/Common:$(BASE_PATH)/NDSRep/win32
– pattern rules –
$(build)/%.obj : %.cpp $(build)/$(prog).pch
$(cc) /Yupch.h /c $(ccflags) $(ccdefs) $(ccincs) $<
– primary and secondary targets –
all : $(build)/$(prog).exe
.DELETE_ON_ERROR: $(build)/$(prog).exe
$(build)/$(prog).pch : pch.cpp
$(cc) /Yc /c $(ccflags) $(ccdefs) $(ccincs) pch.cpp
$(build)/$(prog).exe : $(build)/$(prog).res $(obj)
$(link) $(lflags) $(libs) $+ /out:$@ /map:$(@:.exe=.map)
$(build)/$(prog).res : $(prog).rc resource.h ndsrep2.ico ndsrep.ico
$(rc) $(rflags) /l 0x409 /fo"$@" $<
#-------------------------------------------------------------------------------
– include file that does ideps dependencies
#-------------------------------------------------------------------------------
include $(BASE_PATH)/depends.mak
Please check anybody help me out.I checked in my system libirc.lib is not available.where can i download this file.Any idea.
thanks in advance.