10

How would I link in or compile SOIL (http://lonesock.net/soil.html) into my C++ OpenGL project on Mac OS X?

weicool
  • 2,613
  • 5
  • 22
  • 19

4 Answers4

11

On newer versions of Mac OS X, such as Leopard, you'll have to edit the make file and add

'-arch 1386 -arch x86_64'

to the CXX macro of the Makefile. After compiling, you'll also have to link in the CoreFoundation.framework in your project. So your final build command might look something like

gcc -Wall -lSOIL -framework OpenGL -framework GLUT -framework CoreFoundation
revenantphoenix
  • 306
  • 3
  • 10
  • 1
    Is this when you compile SOIL or your program? Tried both but still get [file was built for archive which is not the architecture being linked]. – oskob Nov 07 '11 at 00:16
  • 4
    Should be `-arch i386 -arch x86_64` (note the *i* instead of *1*). – JVillella Oct 04 '15 at 18:13
8

There's a makefile in the zip that you could try using (projects/makefile). You'll want to rename makefile to __M__akefile (capital M), then just run make in the projects/makefile directory. You'll also need to create the folder for it to put the compiled objects into

From a command line prompt

cd <path to unpacked SOIL archive>
cd projects/makefile
cp makefile Makefile
mkdir obj
make

This builds fine on Linux, and should work on OS X provided you have a C compiler installed.

Adam Luchjenbroers
  • 4,917
  • 2
  • 30
  • 35
0

@Adam Luchjenbroers: Actually you can just run make -f makefile and it will work (at least with my current version of make)

You can pass any file to make with the -f flag

hanetzer
  • 690
  • 6
  • 18
0

Clone https://github.com/DeVaukz/SOIL move to the downloaded directory.

mkdir build
cd build
cmake ..
make
sudo make install
rodrygojose
  • 176
  • 1
  • 6