чёта потерлись посты здеся (админы, видать, мудрят)
повторюсь...
коротко по сборке на линухах
рекомендации в САПИ можно не все соблюдать :lamer: а именно:
-переменная LOTUS могет казать куда угодно - где выложен каталог с САПИ
-Notes_ExecDirectory - тоже может и не быть проинсталенной в систему доминой. Достаточно скопировать /opt/lotus/notes/latest/linux или opt/ibm/lotus/notes/latest/linux (зависит от версии домины)
система д.б. (на кот собираем) 32бит (другого САПИ ИБМ не сподобилось сделать, для линухов)
д.б. установлены пакеты для разработки (название зависит от дистра) и компатибилити либа (розлива 5) libstdc++.so.5
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"мак файл, у меня такой:"</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='bash'>#
# makefile for Notes API sample program viewids
# Linux RedHat
#
#
#Notes_ExecDirectory = ../lib/opt/ibm/lotus/notes/latest/linux
Notes_ExecDirectory = /opt/lotus/notes/latest/linux
LOTUS = ../
# set TARGET to the name of the executable to create
TARGET = knsfbackup
# set SOURCES to the list of C source files in this program
SOURCES = $(TARGET).c backup_nsf.c log.c util.c
# set HEADERS to the list of C include files in this program
HEADERS =
# set OBJECTS to the list of object files that must be linked
OBJECTS = backup_nsf.o log.o util.o $(TARGET).o
# Link this program with the bootstrap code notes0.o because
# this program is structured as a NotesMain.
BOOTOBJS = $(LOTUS)/notesapi/lib/linux/notes0.o $(LOTUS)/notesapi/lib/linux/notesai0.o
# CC defines the compiler.
CC = g++
# Set CCOPTS - the compiler options.
#CCOPTS = -c -mcpu=i486
# You may use -g flag for debugging:
#CCOPTS = -c -mcpu=i486 -g
CCOPTS = -c -mtune=i486
# set NOTESDIR to specify where to search for the Notes library file
NOTESDIR = $(Notes_ExecDirectory)
# Set LINKOPTS - the linker options passed to CC when linking.
# -o $(TARGET) causes compiler to create target rather than a.out
LINKOPTS = -o $(TARGET)
# Notes API header files require UNIX to be defined.
DEFINES = -DUNIX -DLINUX -DHANDLE_IS_32BITS
# set INCDIR to specify where to search for include files
INCDIR = $(LOTUS)/notesapi/include
# set LIBS to list all the libraries ld should link with.
LIBS = -lnotes -lm -lnsl -lc -ldl -lpthread -lresolv
# the executable depends on the objects.
$(TARGET): $(OBJECTS)
$(CC) $(LINKOPTS) $(OBJECTS) $(BOOTOBJS) -L$(NOTESDIR) -Wl,-rpath-link $(NOTESDIR) $(LI$
# the object files depend on the corresponding source files
.c.o:
$(CC) $(CCOPTS) $(DEFINES) -I$(INCDIR) $(SOURCES)[/CODE]
закоментированный Notes_ExecDirectory и есть вариант с размещением бинарников домины в произвольном месте, notesapi, у меня, располагается каталогом выше (от рабочего, для проекта)
сборка: make -f linux.mak
Ссылка скрыта от гостей