INElutTabile
INElutTabile

Reputation: 886

XCode 4 & OpenCV Libraries

I've been googling and trying for days to solve my problem I had n luck, so I'm asking my first question here.

I have a MacBook with Lion (1.7.4), Xcode 4. I need to work on a C++ application made with Leopard and Xcode 3.

The application comes with its own OpenCV.framework and is made for 32-bit Architecture (as u can see in Fig. 1)

Fig. 1: OpenCV.framework linked in the Xcode project

I've tried to get it working on Xcode 3, and it works just fine, no need to install OpenCV or stuff (that is because the OpenCV.framework is included in the project, right?).

On Xcode 4 it's not working. That's what I've tried:

dyld: Library not loaded: @executable_path/../Frameworks/OpenCV.framework/Versions/A/OpenCV
Referenced from: /Users/fabrizioborgia/Library/Developer/Xcode/DerivedData/suiviGUI-awhilvjpoqatfdansnpqcexpnxaw/Build/Products/Debug/suiviGUI.app/Contents/MacOS/suiviGUI Reason: image not found

ld: warning: ignoring file /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib, file was built for unsupported file format which is not the architecture being linked (i386)

In any case, if I try to run it on 64-bit the compilation is successful but the program doesn't work properly.

Guys, really, I'm out of ideas, maybe I'm on the wrong direction, maybe I just have to find another OpenCV.framework or there is some linking setting that I'm missing, and the program doesn't see the framwork.

Anyone can help?

Upvotes: 0

Views: 3136

Answers (2)

INElutTabile
INElutTabile

Reputation: 886

Solved the problem. I applied some sort fo "divide et impera approach" and I asked a new question here on SO, you can find it here: 32-bit OpenCV on OS X Lion? Possible? and I found out that MacPorts AND Homebrew AND the Cmake Approach install by default the native architecture (64-bit in my case) OpenCV libraries, I needed the 32-bit, so i followed those steps:

Step 1: Download OpenCV 2.4.0

Step 2: Download and install CMake.

Step 3: Untar the OpenCV package.

Step 4: Make a separate directory inside the OpenCV package for building

mkdir build
cd build
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 ..

(this will force the 32-bit compile)

make -j8
sudo make install

Step 5: Link the brand-new libraries in the Xcode project using the "Link Binary to Libraries" build phase.

Step 6: Hit "Run" :)

Upvotes: 1

spring
spring

Reputation: 18517

I would suggest that you get OpenCV working (if not already) in Lion with XCode 4 (tutorial). Test it with the example in the linked tutorial. Once that works, then copy over the classes you need from the project that you can't get working.

In other words, abandon the older project and rebuild it from a working project base.

Upvotes: 0

Related Questions