Phonon на Cygwin жалуется на то, что Qt скомпилирован без поддержки -fvisibility = hidden

Я пытаюсь использовать библиотеку Phonon в тестовой программе в Cygwin.

CMake используется для сборки:

find_package (НЕОБХОДИМЫЙ фонон)

Но он генерирует следующее сообщение об ошибке:

$ make
-- Found Qt-Version 4.8.5 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib/libX11.dll.a
-- Found Automoc4: /usr/bin/automoc4.exe
CMake Error at /usr/share/phonon/buildsystem/FindPhononInternal.cmake:296 (message):
Qt compiled without support for -fvisibility=hidden.  This will break
plugins and linking of some applications.  Please fix your Qt installation.
Call Stack (most recent call first):
/usr/lib/cmake/phonon/PhononConfig.cmake:30 (include)
CMakeLists.txt:8 (find_package)

Моя тестовая программа уже успешно использовала Qt, и я установил Qt и Phonon вместе с программой установки cygwin.

Я попытался скомпилировать тестовую программу, которая используется в скрипте CMake Phonon:

#include <QtCore/QtGlobal>
int main()
{
#ifndef QT_VISIBILITY_AVAILABLE
#error QT_VISIBILITY_AVAILABLE is not available
#endif
}

И эта программа не компилируется, действительно:

main.cpp:24:3: error: #error QT_VISIBILITY_AVAILABLE is not available
#error QT_VISIBILITY_AVAILABLE is not available
^

Так что здесь не так? Я думаю, что если бы пользователи Cygwin предоставили пакет для Phonon, они бы убедились, что он совместим с их пакетом Qt. Проблема возникает только на Cygwin, я попробовал его на моей машине Gentoo, и он компилируется там без проблем.

0

Решение

На платформах, которые не поддерживают атрибуты видимости ELF, таких как Cygwin и Windows, компоненты KDE должны быть настроены с -D__KDE_HAVE_GCC_VISIBILITY=NO во избежание этой ошибки. Пакет фононов Cygwin (а ​​также пакеты KDE Cygwin Ports) построен с использованием cygport, который автоматически обрабатывает их в kde4_compile.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]