2013-06-22 4 views
0

나는 LEDA를 다운로드했습니다 link설치 디렉토리는 어디에 있습니까?

그러나 설치를 할 때 ther이 문제가됩니다 : 디렉토리 incl/LEDA/INCLUDE가 존재하지 않습니다.

은 메이크

SHELL=/bin/sh 

cc = $(shell basename $(CURDIR)) 
sys = $(shell cmd/leda.sys) 
instdir = /LEDA/INSTALL/$(sys)/$(cc) 

default: lib 

kernel: 
    ./kernel_config 
    $(MAKE) lib xlman 

all: lib tests 

install: FORCE 
    cp -r -L incl /LEDA/INSTALL/$(sys) 
    if [ -f leda.lib ]; then cp leda.lib $(instdir); fi 
    if [ -f leda.dll ]; then cp leda.dll $(instdir); fi 
    if [ -f libleda.a ]; then cp libleda.a $(instdir); fi 
    if [ -f libleda.so ]; then cp libleda.so $(instdir); fi 

FORCE: lib 

#------------------------------------------------------------------------------ 
# libraries 
#------------------------------------------------------------------------------ 

lib: .license 
    @if [ -f .license -a -d src ]; then $(MAKE) -C src;  fi 
    @if [ -f .license -a -d src1 ]; then $(MAKE) -C src1;  fi 
    @if [ -f .license -a -f closelib ]; then ./closelib;  fi 
    @if [ -f .license -a -f static.mk ]; then $(MAKE) static; fi 
    @if [ -f .license -a -f shared.mk ]; then $(MAKE) shared; fi 

touch: 
    @if [ -f .license -a -d src ]; then $(MAKE) -C src touch; fi 
    @if [ -f .license -a -d src1 ]; then $(MAKE) -C src1 touch; fi 
    @if [ -f .license -a -f static.mk ]; then $(MAKE) static; fi 
    @if [ -f .license -a -f shared.mk ]; then $(MAKE) shared; fi 

nogui: .license 
    mv libleda.a libleda.a.gui 
    mv libleda.so libleda.so.gui 
    mv src/graphics src/graphics_ 
    mv src1/graphics src1/graphics_ 
    $(MAKE) touch 
    mv src/graphics_ src/graphics 
    mv src1/graphics_ src1/graphics 
    mv libleda.a libleda.so no_gui 
    mv libleda.a.gui libleda.a 
    mv libleda.so.gui libleda.so 

gui: .license 
    $(MAKE) touch 


lib0: .license 
    @if [ -f .license -a -d src ]; then $(MAKE) -C src; fi 
    @if [ -f .license -a -f closelib ]; then ./closelib; fi 
    @if [ -f .license -a -f static.mk ]; then $(MAKE) static; fi 
    @if [ -f .license -a -f shared.mk ]; then $(MAKE) shared; fi 

lib1: .license 
    @if [ -f .license -a -d src1 ]; then $(MAKE) -C src1; fi 
    @if [ -f .license -a -f closelib ]; then ./closelib; fi 
    @if [ -f .license -a -f static.mk ]; then $(MAKE) static; fi 
    @if [ -f .license -a -f shared.mk ]; then $(MAKE) shared; fi 

libL1: 
    cp libL.a libL1.a 
    mv src/system/_leda.o src/system/_leda_orig.o 
    $(MAKE) -C src/system -i L=L1 DFLAGS=-DLEDA_CHECK_LICENSE 
    mv src/system/_leda_orig.o src/system/_leda.o 

agd: 
    $(MAKE) -C AGD 
    @if [ -f AGD/static.mk ]; then $(MAKE) -f AGD/static.mk; fi 
    @if [ -f AGD/shared.mk ]; then $(MAKE) -f AGD/shared.mk; fi 


shared: .license 
    @if [ -f .license ]; then \ 
    if [ -f shared.mk ]; then \ 
    echo "$(MAKE) -f shared.mk"; $(MAKE) -f shared.mk; \ 
    if [ -f libAGD.a ]; then \ 
    echo "$(MAKE) -f shared.mk agd"; $(MAKE) -f shared.mk agd; fi; \ 
    else echo "Not configured to build shared libs."; fi; fi 

static: .license 
    @if [ -f .license ]; then $(MAKE) -f static.mk; fi 


.license: 
    @/bin/sh confdir/util/unix/license.sh 


#------------------------------------------------------------------------------ 
# programs 
#------------------------------------------------------------------------------ 

xlman: .license 
    @if [ -f .license ]; then \ 
    echo "$(MAKE) -C demo/xlman "; $(MAKE) -C demo/xlman; fi 

static_xlman: .license 
    @if [ -f .license ]; then \ 
    echo "$(MAKE) -C demo/xlman "; $(MAKE) -C demo/xlman static_xlman; fi 

demos: .license 
    @if [ -f .license ]; then \ 
    if [ -d demo ]; then $(MAKE) -C demo; fi; fi 

tests: .license 
    @if [ -f .license ]; then \ 
    if [ -d test ]; then $(MAKE) -C test; fi; fi 

#------------------------------------------------------------------------------ 
# manual 
#------------------------------------------------------------------------------ 

man: .license 
    @if [ -f .license ]; then \ 
    echo "$(MAKE) -C Manual/MANUAL ";\ 
    $(MAKE) -C Manual/MANUAL; fi 

pdfman: .license 
    @if [ -f .license ]; then \ 
    echo "$(MAKE) -C Manual/MANUAL pdf";\ 
    $(MAKE) -C Manual/MANUAL pdf; fi 

dvi: .license 
    @if [ -f .license ]; then \ 
    echo "$(MAKE) -C Manual/MANUAL dvi";\ 
    $(MAKE) -C Manual/MANUAL dvi; fi 



#------------------------------------------------------------------------------ 
# cleaning up 
#------------------------------------------------------------------------------ 

del: 
    @if [ -d src ]; then $(MAKE) -C src clean; fi 
    @if [ -d src1 ]; then $(MAKE) -C src1 clean; fi 
    @if [ -d prog ]; then $(MAKE) -C prog del; fi 
    @if [ -d test ]; then $(MAKE) -C test del; fi 
    @if [ -d demo ]; then $(MAKE) -C demo del; fi 
    rm -f lib*.a lib*.so lib*.sl lib*.lib leda.dll leda.lib 

clean: 
    @if [ -d src ]; then $(MAKE) -C src clean; fi 
    @if [ -d src1 ]; then $(MAKE) -C src1 clean; fi 
    @if [ -d prog ]; then $(MAKE) -C prog clean; fi 
    @if [ -d test ]; then $(MAKE) -C test clean; fi 
    @if [ -d demo ]; then $(MAKE) -C demo clean; fi 

이며, 이것은 내가 공유 라이브러리를 필요로 가이드에게

******************************************************************** 
*                 * 
*        LEDA        * 
*                 * 
*     UNIX OBJECT CODE INSTALLATION     * 
*                 * 
******************************************************************** 


Remark: This file describes the situation in a LEDA package. 



1. Files and Directories 
------------------------ 

To compile and link your programs with LEDA, the LEDA main directory 
should contain at least the following files and subdirectories: 

Readme.txt     Readme File 
Install/unix.txt   this file 
incl/      the LEDA include directory 
libleda.a (libleda.so)  basic library 

The static library has extension .a. If a shared library is provided 
it has extension .so. 


2. Preparations 
--------------- 

Unpacking the LEDA distribution file 
LEDA-<ver>-<sys>-<cc>.tar.gz will create the LEDA root 
directory "LEDA-<ver>-<sys>-<cc>". You might want to rename 
it or move it to some different place. Let <LEDA> denote the final 
complete path name of the LEDA root directory. 

To install and use the Unix object code of LEDA you have to modify 
your environment as follows: 

a) LEDAROOT: 
Set the environment variable LEDAROOT to the LEDA root directory: 

csh/tcsh: setenv LEDAROOT <LEDA> 

sh/bash: LEDAROOT=<LEDA> 
    export LEDAROOT 

b) Command Search Path: 
Include $LEDAROOT/Manual/cmd into your command search path 
(environment variable path (csh) or PATH (sh)) and call rehash (if 
required by your system). 

c) Shared Library: (for solaris, linux, irix, osf1) 
If you planning to use shared libraries include $LEDAROOT into the 
LD_LIBRARY_PATH search path. Then go to $LEDAROOT and type 
make shared. This will construct the shared libraries from the static 
libraries. 
Please note: Building the shared library is not supported on each 
platform. 

d) xlman and demos: Go to $LEDAROOT and type make xlman to compile 
and link LEDA's interactive manual reader xlman. Now you can start 
xlman for reading and printing manual pages, starting demo programs 
and browsing more release notes. 


3. Compiling and linking application programs 
--------------------------------------------- 

a) Use the -I compiler flag to tell the compiler where to find the 
LEDA header files. 

CC (g++) -I$LEDAROOT/incl -c file.c 

b) Use the -L compiler flag to tell the compiler where to find the 
library (libleda.a/so) 

CC (g++) -L$LEDAROOT file.o -lleda -lX11 -lm 

If using windows on solaris systems you might have to link 
with the system socket library and the network services library as 
well: 
CC (g++) ... -lleda -lX11 -lsocket -lnsl -lm 

c) Compile and link simultaneously with 

CC (g++) -I$LEDAROOT/incl -L$LEDAROOT file.c -lleda -lX11 -lm 

You may want to ask your system adminstrator to install the header 
files and library in the system's default directories. 
Then you no longer have to specify header and library search paths on 
the compiler command line. 


4. Example programs and demos 
----------------------------- 

The source code of all example and demo programs can be found in 
$LEDAROOT/test and $LEDAROOT/demo. Goto $LEDAROOT/test or 
$LEDAROOT/demo and type "make" to compile and link all test or demo 
programs, respectively. 


5. User Manual 
-------------- 

Postscript, PDF, and HTML versions of the manual are available at 

      http://www.algorithmic-solutions.com 

를 설치합니다. 그러나 나는 그것을 설치하는 방법을 알지 못한다. 나는 LEDA 끝의 메이크 파일에서 새로 왔어. 단계별로 explein을 끝내도록 도와 주시겠습니까?

make share를 쓰는 경우 : 공유 라이브러리를 빌드하도록 구성되지 않았습니다. 어떻게해야합니까?

+0

필요한 공유 라이브러리는 무엇입니까? – DevZer0

+0

난 LEDA 라이브러리가 필요해. –

답변

0

메이크 파일은 가지고있는 라이브러리 (정적 (항상 있어야 함) 또는 공유)에 따라 다른 두 메이크 파일로 분기됩니다. 결과는 makefile이 검색하는 장소에 적절한 공유 라이브러리가 없다는 것을 암시합니다. $LEDAROOTLD_LIBRARY_PATH (sh/bash : export LD_LIBRARY_PATH="$LEDAROOT:$LD_LIBRARY_PATH")에 추가 했습니까? 기음.)?

그렇지 않은 경우 make static으로 빌드하는 것이 좋습니다. 이 빌드가 성공적으로 완료된 후에 만 ​​make install이 작동합니다.

+0

내가 한 걸음 한걸 한 걸 말해 줄께. 1 LEDAROOT =/home/usr/LEDA-6.3-free-fedora-core-8-64-g ++ - 4.1.2/ –

+0

export LEDAROOT –

+0

LD_LIBRARY_PATH = "$ LEDAROOT : $ LD_LIBRARY_PATH" –

관련 문제