Compile SFmpq for Mac, If anyone wanted to know
Post #1
MC˛poiuy_qwert
Aug 26 2010, 1:00 am
|
PyMS and ProTRG developer
|
Not many people will probably care, but I though I might as well share the information I have just in case someone is looking for info. These are the steps I took to fix some small compatibility errors and compile SFmpq on OS X:
1) Download SFmpqapi, SComp, bzip, and zlib 2) Replace #include <malloc.h> with #include <stdlib.h> in windows.cpp/.h, SMem.cpp/.h, and SFmpqapi.cpp/.h 3) Replace #include <windows.h> with #include "windows.h" in SFmpqapi.cpp/.h 4) Compile files in this order: windows SErr SMem explode implode (there was a cast from unsigned char* to char* "error" on line 452 for me, easy fixes though) huffman crc32 wave SComp SFmpqapi bzip (a simple "make" works to compile it. i needed to compile it or else I would get missing symbol errors, but didn't need to do this for zlib) 5) Compile it all together. I used: g++ -dynamiclib -o SFmpq.dylib -lz windows.o SFmpqapi.o crc32.o explode.o huffman.o implode.o SComp.o SErr.o SMem.o wave.o bzip2/blocksort.o bzip2/compress.o bzip2/decompress.o bzip2/randtable.o bzip2/bzip2.o bzip2/bzlib.o bzip2/crctable.o bzip2/huffman.o Thank you to ShadowFlare for making such an awesome dll (or dylib ;P)! ![]() ![]() ![]() ![]() ![]() ![]() ![]() We mod Starcraft. PyMS (Forums/Local) | FNTGen | ProTRG (Local) | LocUnlock | BWAI Launcher BroodWarAI.com (Forums) | StarCraft: Team Fortress (Forums/Local) |
Post #2
ShadowFlare
Sep 3 2010, 3:14 am
Post #3
Jack[RCDF
Sep 3 2010, 3:15 am
Post #4
Jack[RCDF
Sep 3 2010, 3:56 am
|
Understanding breeds empathy.
|
Sorry for double post, but you might miss the edit:
In windows.h, you define __declspec twice. Code#define __declspec(dllimport) #define __declspec(dllexport) Why is this? It's throwing up an error when I try to compile windows.cpp. And I also get this error: Codewindows.cpp: In function ‘char* strdup(const char*)’: windows.cpp:160: error: declaration of ‘char* strdup(const char*)’ throws different exceptions windows.h:141: error: from previous declaration ‘char* strdup(const char*) throw ()’ I'm not very good at programming, so yeah ![]() ![]() ![]() ![]() ![]() ![]() Red classic. Left SEN, I may pop in sometimes but I have more useful things to do with my time. If you need anything, email me at zany DOT wun AT gmail DOT com. Maybe I'll come back some day and be regular again but right now it's not for me. gg olo im still here till the 2011 last stand contest and these SD topics are done with |
Post #5
ShadowFlare
Sep 3 2010, 4:36 am
|
At the time, I must not have realized that I didn't need a different one for each of those cases.
As for strdup, try removing it from windows.cpp/.h. Maybe I didn't used to have it including the header that defined it and now it is? The last time I had tried compiling it in Linux was maybe when I had a computer with Red Hat Linux 7.something installed on another partition. This post was edited 1 time, last edit by ShadowFlare: Sep 3 2010, 4:42 am. ![]() ![]() ![]() ![]() ![]() ![]() |
0 members in this topic (italic members are currently writing a reply): None
+ guest(s)
+ guest(s)
[03:28 pm]
[02:29 pm]
[12:38 pm]
[12:38 pm]
[12:36 pm]





![[close]](/images/up.gif)