2010.05.02 01:54 "[Tiff] qmake (Qt) and libtiff "undefined symbols" problem on mac (snow leopard).", by Dave Sun

2010.05.02 01:54 "[Tiff] qmake (Qt) and libtiff "undefined symbols" problem on mac (snow leopard).", by Dave Sun

Dear folks,

I have problems using qmake to compile my simplest libtiff program. Here are the information about my system.

*computer:* Darwin Darwin Kernel Version 10.2.0: Tue Nov 3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386

*Qt version*: Qt 4.6.2
*libtiff version*: 3.9.2
*operating system*: snow leopard.
Simplest program:

*#include <QtCore/QCoreApplication>*
*#include "tiff.h"*
*#include "tiffio.h"*
*#include <iostream>*
*
*
*int main(int argc, char *argv[])*
*{*
*    //QCoreApplication a(argc, argv);*
*    TIFF* tif = TIFFOpen("foo.tif", "r");*
*    if(tif == NULL)*
*       std::cout << "could not open the file";*
*    TIFFClose(tif);*
*    //return a.exec();*
* **std::cout << "hello";*
*    return 0;*

*}*

my pro file:

QT -= gui
TARGET = libtiffSimpleTest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
LIBS += -ltiff
SOURCES += main.cpp

I used Qt creator as my IDE. When I run compiling program I got the following error:

ld: warning: in /usr/local/lib/libtiff.dylib, file is not of required architecture

Undefined symbols:

"_TIFFOpen", referenced from:

_main in main.o

ld: symbol(s) not found

collect2: ld returned 1 exit status

make: *** [libtiffSimpleTest] Error 1

However, when I just use the following:

*g++ main.cpp -ltiff*

It works well. What is the problem here?

Thank you.

Dave