[CMake] linking error after upgrading to snow leopard
Michael Jackson
mike.jackson at bluequartz.net
Fri Sep 11 14:47:02 EDT 2009
You are not specifying the libraries that contain those symbols.
Looking at your link line you are missing at least the Qt libraries/
Frameworks and maybe some others.
If the arch were incorrect the linker would explicitly tell you that
the libraries you are trying to link against is the wrong arch. Since
I don't see that error I am assuming that you have forgotten to list
the libraries that contain those symbols in a
"target_link_libraries()" command.
_________________________________________________________
Mike Jackson mike.jackson at bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio
On Sep 11, 2009, at 10:24 AM, Boudewijn Rempt wrote:
> Hi,
>
> I'm getting weird linking errors after I upgraded to Snow Leopard.
> I'm using
> the CVS version of cmake. If I have the MACOSX_BUNDLE flag in
> ADD_EXECUTABLE,
> there are lots of weird visiblity errors like:
> nking CXX executable HyvesDesktop.app/Contents/MacOS/HyvesDesktop
> /usr/local/bin/cmake -E cmake_link_script CMakeFiles/
> HyvesDesktop.dir/link.txt --verbose=1
> /usr/bin/c++ -mmacosx-version-min=10.6 -Wall -arch i386 -fPIC -
> fvisibility=hidden -fvisibility-inlines-hidden -Wl,-
> search_paths_first -headerpad_max_install_names -fPIC CMakeFiles/
> HyvesDesktop.dir/HyvesDesktop_automoc.cpp.o CMakeFiles/
> HyvesDesktop.dir/src/main.cpp.o CMakeFiles/HyvesDesktop.dir/
> qrc_HyvesDesktop.cxx.o -o HyvesDesktop.app/Contents/MacOS/
> HyvesDesktop
> Undefined symbols:
> "CrashHandler::CrashHandler::~CrashHandler()", referenced from:
> _main in main.cpp.o
> _main in main.cpp.o
> "QString::free(QString::Data*)", referenced from:
> QString::~QString()in main.cpp.o
> "Updater::Updater::instance()", referenced from:
> _main in main.cpp.o
> "Player::Player::playSound(QString const&)", referenced from:
> _main in main.cpp.o
> "QTextStream::operator<<(QString const&)", referenced from:
> _main in main.cpp.o
> _main in main.cpp.o
> _main in main.cpp.o
> "Updater::Updater::installAvailableUpdate()", referenced from:
> _main in main.cpp.o
> "QTextStream::QTextStream(__sFILE*,
> QFlags<QIODevice::OpenModeFlag>)", referenced from:
> __static_initialization_and_destruction_0(int, int)in main.cpp.o
> "QFileInfo::path() const", referenced from:
> setupLibraryPaths(char**) in main.cpp.o
> "endl(QTextStream&)", referenced from:
> __Z4endlR11QTextStream$non_lazy_ptr in main.cpp.o
> "QListData::append()", referenced from:
> QList<QString>::append(QString const&)in main.cpp.o
> "Player::Player::instance()", referenced from:
> _main in main.cpp.o
> "QCoreApplication::setLibraryPaths(QStringList const&)", referenced
> from:
> setupLibraryPaths(char**) in main.cpp.o
> "Version::Version(QString const&)", referenced from:
> __static_initialization_and_destruction_0(int, int)in main.cpp.o
> "CrashHandler::CrashHandler::CrashHandler()", referenced from:
> _main in main.cpp.o
> "qt_assert(char const*, char const*, int)", referenced from:
> QString::QString(QString const&)in main.cpp.o
> "QtPrivate::QStringList_contains(QStringList const*, QString
> const&, Qt::CaseSensitivity)", referenced from:
> QStringList::contains(QString const&, Qt::CaseSensitivity)
> constin main.cpp.o
> "qFree(void*)", referenced from:
> QList<QString>::free(QListData::Data*) in main.cpp.o
> QList<QString>::detach_helper() in main.cpp.o
> "QTextStream::operator<<(char const*)", referenced from:
> _main in main.cpp.o
> _main in main.cpp.o
> "QListData::shared_null", referenced from:
> __ZN9QListData11shared_nullE$non_lazy_ptr in main.cpp.o
> "QTextStream::~QTextStream()", referenced from:
> ___tcf_8 in main.cpp.o
>
> "QDesktopServices
> ::storageLocation(QDesktopServices::StandardLocation)", referenced
> from:
> _main in main.cpp.o
> "QString::operator=(QString const&)", referenced from:
> _main in main.cpp.o
> "qUnregisterResourceData(int, unsigned char const*, unsigned char
> const*, unsigned char const*)", referenced from:
> qCleanupResources_HyvesDesktop() in qrc_HyvesDesktop.cxx.o
> "QFileInfo::~QFileInfo()", referenced from:
> setupLibraryPaths(char**) in main.cpp.o
> setupLibraryPaths(char**) in main.cpp.o
> "QListData::detach3()", referenced from:
> QList<QString>::detach_helper() in main.cpp.o
> "QString::fromAscii_helper(char const*, int)", referenced from:
> QString::QString(char const*)in main.cpp.o
> "Version::toString() const", referenced from:
> _main in main.cpp.o
> _main in main.cpp.o
> "QApplication::exec()", referenced from:
> _main in main.cpp.o
> "QCoreApplication::arguments()", referenced from:
> _main in main.cpp.o
> "QString::fromAscii(char const*, int)", referenced from:
> operator+(char const*, QString const&)in main.cpp.o
> QString::operator+=(char const*)in main.cpp.o
> operator+(QString const&, char const*)in main.cpp.o
> "HyvesDesktopApplication::HyvesDesktopApplication(int&, char**,
> QString const&)", referenced from:
> _main in main.cpp.o
> "QFileInfo::QFileInfo(QString const&)", referenced from:
> setupLibraryPaths(char**) in main.cpp.o
> "qRegisterResourceData(int, unsigned char const*, unsigned char
> const*, unsigned char const*)", referenced from:
> qInitResources_HyvesDesktop() in qrc_HyvesDesktop.cxx.o
> "QString::append(QString const&)", referenced from:
> QString::operator+=(QString const&)in main.cpp.o
> QString::operator+=(char const*)in main.cpp.o
> "QString::replace(QString const&, QString const&,
> Qt::CaseSensitivity)", referenced from:
> _main in main.cpp.o
> _main in main.cpp.o
> _main in main.cpp.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
>
> Does anyone have any hint for me?
>
> Boudewijn
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list