初学pro*c,遇到i386ld fatal: Symbol referencing errors. No output written to a.out问题
vc8 2004-12-28 03:07:27 #include <stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR password[20];
int emp_number;
float ixyd_s;
float ixyd_e;
float itze;
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE sqlca;
void sqlerror( );
void main( ){
strcpy( username.arr, "dbmanager" );
username.len = strlen( username.arr );
strcpy( password.arr, "fhic" );
password.len = strlen( password.arr );
EXEC SQL WHENEVER SQLERROR DO sqlerror( );
EXEC SQL connect: username IDENTIFIED BY:password;
printf( "/nConnect to ORACLE as user %s/n", username.arr );
while( 1 ){
printf( "/nEnter Xyd_s number(0 to quit ):");
scanf( "%d", &ixyd_s );
if( 0 ==ixyd_s ) break;
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
EXEC SQL SELECT xyd_s, xyd_e,tze INTO: ixyd_s, :ixyd_e,:itze FROM xydsz WHERE xyd_s =:ixyd_s;
printf( " /n/n Xyd_s/tXyd_e/ttze/n" );
pirntf( "-----/t----/t-----/n" );
printf( "%.0f/t%.0f/t%.0f\n");
continue;
notfound:
printf( "/nNot a valid xyd_s./n" );
}
printf( "/n Have a good Day." );
EXEC SQL COMMIT WORK RELEASE;
exit( 0 );
}
void sqlerror( )
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf( "/n Oracle error detected./n" );
printf( "/n%.70s/n",sqlca.sqlerrm.sqlerrmc );
EXEC SQL ROLLBACK RELEASE;
exit( 1 );
}
首先编译成.c文件
$proc PARSE=NONE myproc1.pc
然后编译.c文件
$cc -o myproc1 myproc1.c $ORACLE_HOME/lib/libclntsh.so
报入标题的错误,请问高手如何解决?多谢