altibase apre*c 컴파일문제 질문좀요

익명 사용자의 이미지

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlca.h>
 
 
int main()
{
        EXEC SQL BEGIN DECLARE SECTION;
                char username[10];
                char password[10];
                char opt[200];
                int clntId;
                int clntIp;
                int clntime;
        EXEC SQL END DECLARE SECTION;
 
        strcpy(username,"user");
        strcpy(password,"user");
        strcpy(opt, "DSN=127.0.0.1; PORT_NO=11111;CONNTYPE=1");
 
        EXEC SQL CONNECT :username IDENTIFIED BY :password USING :opt;
 
 
        SELECT문
        EXEC SQL SELECT *
                INTO :clntId,:clntIp,:clntime
                FROM HDJ where ID = '1';
        if (sqlca.sqlcode < 0)
        {
                printf("%s\n", sqlca.sqlerrm.sqlerrmc);
                EXEC SQL ROLLBACK WORK RELEASE;
                exit(0);
        }
 
 
        if (sqlca.sqlcode != 0)
        {
                EXEC SQL COMMIT WORK RELEASE;
                return 0;
        }
        EXEC SQL COMMIT WORK RELEASE;
        return 1;
}

이 소스를 가지고 apre 로 프리컴파일 하고 gcc 로 컴파일 하는데

gcc -I$ALTIBASE_HOME/include -L$(ALTIBASE_HOME)/lib test.c 이렇게 해서

-bash: ALTIBASE_HOME: command not found
test.c:183: error: expected identifier or ‘(’ before ‘~’ token
이런 에러가 발생합니다..

3일째 이거때문에 고민중입니다.. 근데 전혀 짐작이 가질 않습니다..
도움 부탁드립니다.

지나다의 이미지

gcc -I$ALTIBASE_HOME/include -L"$ALTIBASE_HOME"/lib test.c
또는
gcc -I$ALTIBASE_HOME/include -L"${ALTIBASE_HOME}"/lib test.c

$(xx)는 xx 명령어를 수행하고 그 stdout을 $(xx) 대신 치환하는 거예요.