Thanks Ian. This did the trick and now I'm faced with the problem of function signatures that include 'const'. On my system, fopen is declared thus: extern FILE *fopen (char *p0, char *modes) __wur But fopen64 is: extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __wur
So, now my override function conflicts: In file included from _cgo_export.c:3:0: cgo-gcc-export-header-prolog:44:14: error: conflicting types for ‘fopen64’ In file included from ./main.go:5:0, from _cgo_export.c:3: /usr/include/stdio.h:298:14: note: previous declaration of ‘fopen64’ was here extern FILE *fopen64 (const char *__restrict __filename, ^~~~~~~ _cgo_export.c:37:7: error: conflicting types for ‘fopen64’ FILE* fopen64(char* p0, char* p1) ^~~~~~~ I'm guessing there's not much I can do about the limitation of dealing with 'const' declarations in C? On Monday, January 15, 2018 at 2:35:19 PM UTC-5, Ian Lance Taylor wrote: > > You neglected to say which system you are running on. If it's > GNU/Linux, note that fopen64 is not declared by default. It's only > declared if define the C preprocessor macro _LARGEFILE64_SOURCE while > compiling the file. You may need a #cgo CFLAGS: line to add a -D > option. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.