Это старый вопрос, но для того, чтобы помочь людям, которые могут наткнуться на него через такую поисковую систему, как я, ответ right :
Вы должны добавить следующие строки в ваш источник Pro * C
EXEC SQL INCLUDE sqlca.h;
EXEC SQL INCLUDE oraca.h;
EXEC SQL INCLUDE sqlcpr.h;
sqlca.h
и oraca.h
требуются до включения sqlcpr.h
. Стандартный заголовок C, такой как stddef.h
или stdio.h
, должен быть включен до этих встроенных операторов SQL, поскольку для них необходимо определить size_t
.
Важно использовать встроенные операторы включения SQL вместо C #include
.
EXEC SQL INCLUDE
скопирует содержимое файла заголовка в сгенерированный файл C. Поэтому нет необходимости добавлять пути других включаемых файлов клиента Oracle в командную строку компилятора C.