VLC-Qt从Windows上的源代码构建错误

时间:2015-07-27 17:02:39

标签: c++ qt build cmake vlc-qt

重点是我尝试从源代码构建vlc-qt绑定。我做了以下事情:

  1. 获取libvlc-qt_0.10.0_win32_msvc2013.7z来源
  2. 打开我的Qt5 Creator(来自MVSC2013版本)
  3. 用它打开/src/CMakeLists.txt
  4. 运行CMake
  5. 按build
  6. 应该有效,但我得到以下内容:

    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_threads.h:403: ошибка: C3861: 'poll': identifier not found
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:103: ошибка: C2146: syntax error : missing ';' before identifier 'config_GetIntChoices'
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:103: ошибка: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:104: ошибка: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:105: ошибка: C2146: syntax error : missing ';' before identifier 'config_GetPszChoices'
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:105: ошибка: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    C:\Program Files (x86)\VideoLAN\VLC\sdk\include\vlc\plugins\vlc_configuration.h:106: ошибка: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    

    令人惊讶的是,这个项目在当前的VLC播放器安装中搜索了一些文件(Program Files可能不是获得dependecies的最佳位置),而且在存储库页面上没有任何关于此行为的信息,乍一看至少。

    目前我正在尝试删除/重新安装播放器,使用某些键运行CMake等。顺便说一下,使用gui下载CMake从未帮助过。

    请有人,请指出我在建造中的错误。提前致谢。

    UPD: 谢谢,krnekit,它有助于获得密钥!啊,它发生得更复杂(msvc 2013更新4使用)。

    简言之:

    • 通过Qt Creator + nmake从源代码构建绑定非常困难
    • 使用CMAKE_PREFIX_PATH变量告诉CMake,其中qt所需的库有很多帮助
    • 在一些Cmake配置
    • 之后,类似地解决了在sdk中搜索vlc播放器头的问题
    • 当我开始使用包含的vlc-qt源构建我的示例时,我不知道使用共享dll,我理解/ src / windows包含头文件(poll.h和其他),以防止出现错误。不知道,为什么它没有和Cmake一起工作呢?

1 个答案:

答案 0 :(得分:1)

这是vlc的问题,而不是vlc-qt。您的程序应至少使用VS 2013 Update 2进行编译(或者甚至更新)。

或者,快速而肮脏的解决方案是修改vlc包含,有关详细信息,请参阅this bugreport。您还应该提供poll.h包含文件。