The solution is simply to remove the -o and -c options from your gcc/g++ command line and replace it with
gcc/g++ -E -dD
this will generate on your terminal only the C pre-processor output that is eventually fed to the C/C++ compiler.
For example you are trying to compile Mozilla SpiderMonkey 1.7 and one of the compiler lines is the following:
/usr/bin/gcc -Djs_1_7_EXPORTS -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -D_IEEE_LIBM -DJS_EDITLINE -DEDITLINE -DHAVE_VA_COPY -DVA_COPY=va_copy -DPIC -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY -O3 -DNDEBUG -fPIC -I../js-1.7 -fPIC -o CMakeFiles/js-1.7.dir/jsarena.c.o -c js-1.7/jsarena.c
To see the expanded C macros run the following command:
/usr/bin/gcc -E -dD -Djs_1_7_EXPORTS -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -D_IEEE_LIBM -DJS_EDITLINE -DEDITLINE -DHAVE_VA_COPY -DVA_COPY=va_copy -DPIC -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY -O3 -DNDEBUG -fPIC -I../js-1.7 -fPIC js-1.7/jsarena.c
Thank you for sharing run C/C++ program on Android
ReplyDeleteThank you by blog : bahis
ReplyDelete