Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.development.apps > #849
| From | Geoff Clare <geoff@clare.See-My-Signature.invalid> |
|---|---|
| Newsgroups | comp.os.linux.development.apps |
| Subject | Re: warning: implicit declaration of function ‘mkstemp’ |
| Date | 2017-08-07 13:47 +0100 |
| Message-ID | <434m5e-q6o.ln1@ID-313840.user.individual.net> (permalink) |
| References | <olurnd$3b6$1@solani.org> <eum5hqF1ldqU1@mid.uni-berlin.de> |
Jens Thoms Toerring wrote: > Philipp Klaus Krause <pkk@spth.de> wrote: >> When using mkstemp() in my C source, I get the gcc warning: > >> warning: implicit declaration of function ‘mkstemp’ > >> Why? >> I use gcc 6.4.0 on a debian GNU/Linux system. >> <stdlib.h> is included. I use other POSIX functions (such as >> ftruncate() and open()) that are not part of ISO C in the same source >> file, but get a warning for mkstemp() only. >> I tried using -D_POSIX_C_SOURCE=200112L, but still get the warning. > > Try '-D_POSIX_C_SOURCE=200809' instead. That's what's required > according to the up-to-date version of the man page (see > <http://man7.org/linux/man-pages/man3/mkstemp.3.html>), and it > works for me. The (somewhat out-dated) man page on my system > also claims that '_POSIX_C_SOURCE=200112L' would do the the > trick, but it doesn't. In SUSv3/POSIX.1-2001 the mkstemp() function was part of the XSI option. Some UNIX/POSIX systems make XSI symbols visible with _POSIX_C_SOURCE=200112 but some don't. To be sure of making it visible you need _XOPEN_SOURCE=600 (instead of, or as well as, setting _POSIX_C_SOURCE=200112). In SUSv4/POSIX.1-2008 mkstemp() was made mandatory, which is why _POSIX_C_SOURCE=200809 works (on up-to-date systems). Of course, _XOPEN_SOURCE=700 would also work. -- Geoff Clare <netnews@gclare.org.uk>
Back to comp.os.linux.development.apps | Previous | Next — Previous in thread | Find similar
warning: implicit declaration of function ‘mkstemp’ Philipp Klaus Krause <pkk@spth.de> - 2017-08-03 11:51 +0200
Re: warning: implicit declaration of function ‘mkstemp’ Richard Kettlewell <invalid@invalid.invalid> - 2017-08-03 11:08 +0100
Re: warning: implicit declaration of function ‘mkstemp’ Philipp Klaus Krause <pkk@spth.de> - 2017-08-03 12:30 +0200
Re: warning: implicit declaration of function ‘mkstemp’ jt@toerring.de (Jens Thoms Toerring) - 2017-08-05 15:11 +0000
Re: warning: implicit declaration of function ‘mkstemp’ Geoff Clare <geoff@clare.See-My-Signature.invalid> - 2017-08-07 13:47 +0100
csiph-web