Wildcards in Windows

43 views
Skip to first unread message

April Grow

unread,
Mar 24, 2015, 6:06:25 PM3/24/15
to emscripte...@googlegroups.com
Hello! I am working with someone else's code here, and I am new to emscripten, so bear with me.

I am looking to translate all the .c files of a folder into one (or at least correctly reference them). The script that came with the code I was given (which was not Windows) was:

emcc -o libembroidery-convert.js temp/*.c

Which I assume works. However, this command does not work in Windows whether I swap the "/" to the appropriate direction or not. Emscripten does not accept that *.c (* wildcard) is any file. (image attached)
If I naively run only the main file with emscripten, it fails to find the additional files in the same folders that hold the data it needs:

emcc -o libembroidery-convert.js temp\libembroidery-convert-main.c

embFormatList_create is within another .c file in the temp directory, but as you can see it's an unresolved symbol (image attached).

Is there a setting I'm missing, or a command I don't understand? I have read over the package page, but I am not packaging data: I am packaging other .c files that are necessary for compilation. Every example I can see on the website uses only one .c or .cpp file.

Thank you for your time!
~April
2015-03-24_1501.png
2015-03-24_1459.png

Alon Zakai

unread,
Mar 24, 2015, 6:22:52 PM3/24/15
to emscripte...@googlegroups.com
I know very little about windows, so I might be wrong here. But the error message "was expected to be an input file" from emscripten indicates that it received    temp\*.c    as an actual input file. I would have expected the windows shell to have expanded      temp\*.c    into the actual files, so that emscripten would see them and not the *.c.

A simple workaround could be to manually expand it out, so replace    temp\*.c     with temp\firstfile.c temp\secondfile.c    , that is, list out each of those *.c files in temp. emcc is ok with receiving multiple input files at once. (Note though that that means each time you run the command it will build all the files from source. In a big library, that might take a while.)

- Alon


--
You received this message because you are subscribed to the Google Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-disc...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Brion Vibber

unread,
Mar 24, 2015, 6:41:59 PM3/24/15
to emscripten Mailing List

IIRC the Windows command shell doesn't do wildcard expansion -- CLI programs are expected to handle this themselves. Totally opposite from the Unix way of course. :)

It should be possible to run the emscripten commands from a unix-style  bash shell (installed from mingw32 or cygwin); alternately just manually listing out the files to a loooong command in a batch file should work.

-- brion

April Grow

unread,
Mar 24, 2015, 7:03:13 PM3/24/15
to emscripte...@googlegroups.com
Grr, Windows, why do you suck so much!

Yes, I just spent the last 20 minutes adding all ~75 files manually to my batch file and it worked. Huzzah! Thank you both so much :)

~April

You received this message because you are subscribed to a topic in the Google Groups "emscripten-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/emscripten-discuss/AuP-D8ggoOM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to emscripten-disc...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages