|
藍森林 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程序
| |
|