文件夹下共有三个文件,一个是NiuDong.pc源文件,另两个是Makefile和Make.defines。在Makefile文件中,已经声明包含当前目录下的Make.defines文件了:
include ./Make.defines
...但是,在编译的时候,总是提示这样的错误,非常奇怪,教人现在一筹莫展。
.  Stop.nnot read or get ./Make.defines可能的原因是什么呢?

解决方案 »

  1.   

    ls -l Make.defines
    看看有没权限读
      

  2.   

    刚才犯了个错误,忘记将Dos的编码转换成Unix了。转换成功后重编译,又来一个新问题:Don't know how to make NiuDong.-_-'''
      

  3.   

    果然是Makefile写错了一个地方,谢谢wiler提醒。现在又碰到一个问题,这个是我的pc源文件:------------------NiuDong.pc--------------------------
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sqlca.h>void  WriteError(int n1, int n2, char sTemp) {};int main(int argc, char ** argv) { int emp_no; EXEC SQL SELECT empno
     INTO :emp_no
     FROM emp
     WHERE ename = "ALLEN";

    printf("%d", :emp_no);
     
        return 0;
    }-------------------------------------------------------------------------结果编译还是不成功,提示Syntax Error,说是“Encountered the symbol "<eof>" when expecting one of the following: ...”后面列出了一大堆关键字。不知道又是什么原因。第一次尝试Pro*C,发现书上写得挺简单,真正操作起来还是会碰到很多障碍的。
      

  4.   

    四个地方有问题:
    1.int emp_no;改为:
    EXEC SQL BEGIN DECLARE SECTION;
      int emp_no
    EXEC SQL END DECLARE SECTION;
    2.WHERE ename = "ALLEN"; 应改双引号为单引号
    3.printf("%d", :emp_no); emp_no前的冒号不能要
    4.没有连接数据库就发出查询建议:lz去看看demo,位置 $ORACLE_HOME/plsql/demo
      

  5.   

    我的机子上没有demo :<我按照wiler的指点改正了一下,在EXEC SQL END DECLARE SECTION;语句下添加了连接数据库的语句:EXEC SQL CONNECT :qz_test IDENTIFIED BY :testone USING :bill;结果编译后出错,提示说在连接语句上出问题了:EXEC SQL CONNECT :qz_test IDENTIFIED BY :testone USING :bill;
    .............................1
    PCC-S-02322 found undefined identifier
    *** Error Code 1
    Stop我不理解是什么意思。我用这个用户名+密码+服务器名,是可以直接在Windows下登录数据库的。
      

  6.   

    EXEC SQL CONNECT :qz_test IDENTIFIED BY :testone USING :bill;
    这里面的qz_test,testone,bill都是变量,要先定义和赋值
      

  7.   

    嗯,我又改好了,但是这次,它又说:identifier 'EMP' must be declared难道连我要查询的源表名也要声明吗?