Заголовочные файлы не распознаются в компиляторе PROC 12.2 даже с SYSHDRS в mkmf HP-U - PullRequest
0 голосов
/ 03 июля 2019

Я использую прекомпилятор Pro * C 12.2.

У меня есть файл .c, который использует free(), но string.h не включен в файлы .c, .h или .pc.

Makefile имеет SYSHDRS= /usr/include других файлов, но не string.h.

Исполняемый файл после компиляции работает в среде Oracle 11g, но не в 12.2.

Обратите внимание, что #include <string.h> отсутствует в 11g и 12.2, а также в файле .c. Но он работает для Oracle 11g и выдает ошибку памяти для 12.2.

В Makefile единственным отличием является путь ORACLE_HOME & mdash; в первом он указывает на 11g, а во втором на 12.2.

Есть ли разница между прекомпиляторами 11g и 12.2, относящимися к заголовочным файлам? Для обеих сред string.h присутствует в /usr/include.

Решение, которое я нашел, состояло в том, чтобы включить string.h в файл .pc. Но это только временное решение. В других .pc файлах также отсутствует signal.h, и полученный исполняемый файл вызывает ошибку памяти для 12.2.

Пожалуйста, ведите меня!

...