Skip to content

funopen() unavailable in gcc-mingw-w64-x86-64 #96

@fhunleth

Description

@fhunleth

In upgrading to libconfuse 3.1, I am now receiving the following error on mingw builds for Windows:

libconfuse.a(libconfuse_la-fmemopen.o): In function `fmemopen':
fmemopen.c:110: undefined reference to `funopen'

This can be reproduced on Debian/Ubuntu by installing the mingw crosscompiler:

sudo apt install gcc-mingw-w64-x86-64
cd confuse
CC=x86_64-w64-mingw32-gcc ./configure --enable-shared=no --disable-examples
make

Then try linking libconfuse.a to a trivial app. Since I never build the libconfuse examples in my Windows builds, I hadn't realized that they didn't compile with mingw, but in theory, they could show the issue too. If nothing else, you can see the warning the funopen isn't defined when compiling fmemopen.c.

I'm not completely sure how best to work around this issue. In the past when I've run into uses of fmemopen, it has been pretty easy to remove them, but I don't think that's the case here. However, I also don't know how one would implement fmemopen without funopen. Hence I'm posting here to see if there are any other ideas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions