2010-12-03 18 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