Installing Eigen on Mac OS X for XCode
Asked Answered
U

2

32

A while back it was a nightmare for me trying to get Eigen up and running on my mac for XCode, but a friend managed to figure it out and shared the instructions with me. I don't want anyone to go through what I went through, so here's an easy-to-follow guide.

Umberto answered 26/2, 2016 at 17:47 Comment(0)
U
36

1. Install Homebrew

• Package manager for Mac, allows you to download pretty much anything with one Terminal command. Follow steps here.

2. Install Eigen

• Simply run the following command in Terminal: brew install eigen

• Eigen is now installed.

• Make note of the file path that is printed out on the command line! You'll need that later and it can vary from person to person.

• Homebrew saves Eigen files in /usr/local/include/eigen3/

3. Include Eigen files in your Xcode project’s Build Path

• Open the project you want to use Eigen with.

• Select your project’s build target under TARGETS

• Select the Build Settings tab.

• Scroll down to Apple LLVM 7.0 - Custom Compiler Flags Note that your version of the LLVM compiler may be different.

• Double click the blank space to the right of Other C++ Flags.

• Add the directory where Eigen files are located in the filepath you noted back in step 2 (-I <filepath>).

• Search for HEADER_SEARCH_PATHS in your target build settings and add /usr/local/include/eigen3/ the same way you added the Eigen file path to OTHER_CPLUSPLUSFLAGS.

Your project should be able to use Eigen with no issues now.

Umberto answered 26/2, 2016 at 17:47 Comment(2)
I tried this with a blank Xcode C++ command line tool project template. Upon compilation I get "cannot specify -o when generating multiple output files" error. How do I add the compiler option? Just entering the path of my Eigen installation?Pap
I have the same problem...^^Slice
E
14

This worked for me, and seems a lot easier than the above. It's a little old-school, but no homebrew or package installer necessary. It literally took me less than 5 minutes.

  1. Download Eigen and unpack.
    http://eigen.tuxfamily.org/index.php?title=Main_Page#Download

  2. Copy the "Eigen" folder into /usr/local directory. I sudo'd to root and did this in the terminal, because Macs are picky about what they let you see in finder. Like I said, old-school.

2a. Note: You might have to chmod the permissions to 755.

enter image description here

  1. In your project, go to "Build Settings" and search for "Header Search Paths." Add /usr/local/. Eigen is a header-only library!

enter image description here

  1. Include Eigen like so

enter image description here

Educationist answered 28/3, 2016 at 4:8 Comment(2)
Thank you very much!Alvarado
Thanks! this is the best answer which also answers a lot of other questions!!Sketchbook

© 2022 - 2024 — McMap. All rights reserved.