[CMake] Phonon with an older version of CMake
Bill Hoffman
bill.hoffman at kitware.com
Tue Oct 28 19:16:54 EDT 2008
Alexander Solis wrote:
> You are correct, for phonon 2.6 works fine, but if I use 2.6 for the
> main project there are other thinks that get broken during compilation
> and we are very close to a deadline with not too much time in our hands :(
>
-Wno-dev
> Here are some of the warnings I get when running the program with
> CMake2.6 (maybe they are easy to fix). The problem is that I tried
> setting the policy but I am kind of loss trying to find the correct
> CMakeLists.txt file that I should modify.
>
> 1)
> WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
>
This is just a warning, that you should use the new module, but the old
one has not changed.
> 2)
> CMake Warning (dev) at owbuild/owbuild/OWCreateBinary.cmake:53
> (add_library):
> Policy CMP0002 is not set: Logical target names must be globally unique.
> Run "cmake --help-policy CMP0002" for policy details. Use the
> cmake_policy
> command to set the policy and suppress this warning.
> Call Stack (most recent call first):
> wifo/phapi/ilbc/CMakeLists.txt:37 (ow_create_binary)
> This warning is for project developers. Use -Wno-dev to suppress it.
This means that you have an add_library, or add_executable that has the
same name.
>
> 3)
> CMake Warning (dev) at owbuild/owbuild/OWCreateBinary.cmake:112
> (add_executable):
> Policy CMP0003 should be set before this line. Add code such as
>
> if(COMMAND cmake_policy)
> cmake_policy(SET CMP0003 NEW)
> endif(COMMAND cmake_policy)
>
> as early as possible but after the most recent call to
> cmake_minimum_required or cmake_policy(VERSION). This warning appears
> because target "VoxOx" links to some libraries for which the linker must
> search:
>
If you set cmake 2.6 as the minimum
> resolv, gnutls
>
> and other libraries with known full path:
>
> ....
> Some of these libraries may not be found correctly.
> Call Stack (most recent call first):
> wengophone/src/presentation/qt/CMakeLists.txt:671 (ow_create_binary)
>
>
> *After running the program with CMake2.6 I run make and get the
> following error:*
> *
> Undefined symbols:
> "_inflateEnd", referenced from:
> _decode_frame in libavcodec.a(pngdec.o)
> "_inflateInit_", referenced from:
> _decode_frame in libavcodec.a(pngdec.o)
> "_xvid_plugin_2pass2", referenced from:
> _ff_xvid_rate_control_init in libavcodec.a(libxvid_rc.o)
> _ff_xvid_rate_estimate_qscale in libavcodec.a(libxvid_rc.o)
> _ff_xvid_rate_estimate_qscale in libavcodec.a(libxvid_rc.o)
> _ff_xvid_rate_control_uninit in libavcodec.a(libxvid_rc.o)
> "_inflate", referenced from:
> _decode_frame in libavcodec.a(pngdec.o)
> ld: symbol(s) not found
These errors do not have to do with any of the above warnings. You
might want to try the CMake 2.6 branch of CMake. I think there are
some changes to the link line stuff that may fix this problem. Check
out this branch: CMake-2-6.
Working 2.6:
/usr/bin/c++ -Wl,-search_paths_first -headerpad_max_install_names
-fPIC CMakeFiles/video.dir/mainwindow.o CMakeFiles/video.dir/main.o
CMakeFiles/video.dir/moc_mainwindow.o -o video
-F/usr/local/Trolltech/Qt-4.4.0/lib -framework phonon -framework QtGui
-framework Carbon -framework AppKit -framework QtDBus -framework QtXml
-framework QtCore /usr/lib/libz.dylib -framework ApplicationServices
Broken 2.4:
/usr/bin/c++ -headerpad_max_install_names -fPIC
"CMakeFiles/video.dir/mainwindow.o" "CMakeFiles/video.dir/main.o"
"CMakeFiles/video.dir/moc_mainwindow.o" -o video
-F/usr/local/Trolltech/Qt-4.4.0/lib -framework QtGui -framework Carbon
-framework QuickTime -framework QtCore -lz -framework ApplicationServices
The broken 2.4 is missing -framework phonon. I am pretty sure FindQt4
did not have support for that in 2.4.
-Bill
More information about the CMake
mailing list