Reputation: 1
I am using the Pro*C 12.2 precompiler.
I have a .c
file which is using free()
, but string.h
is not included in the .c
, .h
or .pc
files.
The Makefile
has SYSHDRS= /usr/include
other files, but not string.h
.
The executable after compilation is working in an Oracle 11g environment, but not in 12.2.
Note that #include <string.h>
is not there in 11g and 12.2, also in the .c
file. But it works for Oracle 11g and produces a memory fault for 12.2.
In the Makefile
the only difference is the ORACLE_HOME
path — in the former it is pointing to 11g and in the latter to 12.2.
Is there any difference between the 11g and 12.2 precompilers related to header files? For both environments string.h
is present in /usr/include
.
A solution I found was to include string.h
in the .pc
file. But this is only a temporary solution. Other .pc
files are also missing signal.h
, and the resulting executable produces a memory fault for 12.2.
Please guide me!
Upvotes: 0
Views: 117