2010-12-03 19 views
0

我已看過一些教程,但我仍然沒有任何線索:-)我有交流文件「liboratidy.c」這個文件中包含一些奧德庫:幫助,不知道如何使這個Makefile

#include <stdio.h> 
#include <string.h> 
#include <errno.h> 
#include <tidy.h> 
#include <buffio.h> 
#include <oci.h> 
#include <ociextp.h> 

所需文件位於/user/lib/libtidy.so和/ usr/include/tidy /和/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/中的頭文件中public/

我嘗試將我的代碼編譯爲共享庫,但每次調用我的gcc編譯器時我都會得到「xy.h文件未找到」錯誤。但是這些文件已經存在。我從來沒有用c,C++做過什麼...我如何編譯一個Makefile來編譯這個源文件?

感謝 基督教

回答

0

-I選項應該指向包含您需要編譯反對的頭文件的目錄(例如-I /usr/include/tidy)。 -L選項應指向包含需要構建的庫的目錄(例如-L /usr/lib/opracle/.....)。 -l選項應該包含要構建的庫的縮寫名稱(例如,libfoo.so - >-lfoo)。

+0

ahaa ...我從來沒有做過-I選項,但用-L和-l嘗試了幾種方法。最後這個工作:$ gcc -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/-I/usr/include/tidy/-L/usr/lib/-L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/-ltidy -shared -o test.so 非常感謝! – christian 2010-12-03 09:18:40