藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


如何在linux下編譯proc程序

我在linux 下用一個 proc  將 一個 .pc 的程序編譯為一個 .c 的程序,
但是我編譯這個程序的時候系統卻提示 ,頭文件找不到,當我更改頭文件的引用路徑為 $oracle_home/precomp/public時, 系統會提示鏈接錯誤,無法執行。
請問我應當如何設定linux編譯環境,才能編譯 proc生成的 .c文件。

如何在linux下編譯proc程序

你連接時oracle的那些庫有沒有加進去?

如何在linux下編譯proc程序

樓主現在開發的環境和我類似,我的開發平台是redhat9,oracle9i,我目前也是在做數據庫開發,我的makefile是這樣寫的:
PROC=proc
GCC=gcc

BINDIR=$(HOME)/bin

ORAIFLAG=-I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/precomp/public -
I$(ORACLE_HOME)/plsql/public

ORALFLAG=-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/precomp/lib -L$(ORACLE_HOME)/rdbms/lib -L$(ORACLE_HOME)/sqlplus/lib -L$(ORACLE_HOME)/network/lib -L$(ORACLE_HOME)/plsql/lib

IFLAG=-I$(HOME)/include $(ORAIFLAG)
LFLAG=-L$(HOME)/lib $(ORALFLAG) -lclntsh -ltool

PROCFLAGS=char_map=string

.SUFFIXES: .pc .c .o
.pc.c:
        $(PROC) $(PROCFLAGS) iname=$*
        rm *.lis
.pc.o:
        $(PROC) $(PROCFLAGS) iname=$*
        rm *.lis
        $(GCC) $(IFLAG) -c $*.c
.c.o:
        $(GCC) $(IFLAG) -c $*.c

all:test1

test1:test1.o
        $(GCC) $? -o $@ $(LFLAG)
        @echo "##### $@ loaded #####"

其中tool庫是我自己的.
希望以上信息對你有幫助!

如何在linux下編譯proc程序

還忘記了一個,環境變量LD_LIBRARY_PATH包含了$ORACLE_HOME/lib這個目錄.

如何在linux下編譯proc程序

感謝 bjf 對我的幫助,但是我還是一個linux 的初學者,我怎樣才能使用makefile呢?

如何在linux下編譯proc程序



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com