关于空cmake FIND宏的问题
Questions about empty cmake FIND macros
我有一个宏,看起来像这样
MACRO(FFMPEG_FIND varname shortname headername)
MESSAGE(STATUS "FFMPEG_${varname}_LIBRARIES: ${FFMPEG_${varname}_LIBRARIES}")
MESSAGE(STATUS "FFMPEG_${varname}_INCLUDE_DIRS: ${FFMPEG_${varname}_INCLUDE_DIRS}")
ENDMACRO(FFMPEG_FIND)
像这样调用:
FFMPEG_FIND(LIBAVFORMAT avformat avformat.h)
FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h)
FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h)
FFMPEG_FIND(LIBAVUTIL avutil avutil.h)
FFMPEG_FIND(LIBSWSCALE swscale swscale.h) # not sure about the header to look for here.
这将给我们输出
-- FFMPEG_LIBAVFORMAT_LIBRARIES: F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-de
v/lib/avformat.lib
-- FFMPEG_LIBAVFORMAT_INCLUDE_DIRS: F:/Dev/Lib/ffmpeg-2.2.1
-- FFMPEG_LIBAVDEVICE_LIBRARIES: F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-de
v/lib/avdevice.lib
-- FFMPEG_LIBAVDEVICE_INCLUDE_DIRS: F:/Dev/Lib/ffmpeg-2.2.1
-- FFMPEG_LIBAVCODEC_LIBRARIES: F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-dev
/lib/avcodec.lib
-- FFMPEG_LIBAVCODEC_INCLUDE_DIRS: F:/Dev/Lib/ffmpeg-2.2.1
-- FFMPEG_LIBAVUTIL_LIBRARIES: F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-dev/
lib/avutil.lib
-- FFMPEG_LIBAVUTIL_INCLUDE_DIRS: F:/Dev/Lib/ffmpeg-2.2.1
-- FFMPEG_LIBSWSCALE_LIBRARIES: F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-dev
/lib/swscale.lib
-- FFMPEG_LIBSWSCALE_INCLUDE_DIRS: F:/Dev/Lib/ffmpeg-2.2.1
-- Configuring done
-- Generating done
我的第一个问题是如何cmake甚至找到我的硬盘上的库,而FIND宏基本上是空的。更重要的问题是,为什么INCLUDE_DIRS
被设置为F:/Dev/Lib/ffmpeg-2.2.1
,这是一个甚至不存在的路径(在F:/Dev/Lib中没有ffmpeg-2.2.1文件夹),因为它应该指向F:/Dev/Lib/ffmpeg-20140507-git-4cdea92-win32-dev/include
宏没有找到任何东西,它只是打印CMakeCache.txt
的值,这是cmake
调用之间的持久存储(或GUI中的configure
步骤)。你的ffmpeg相关的值是由之前的cmake
调用设置的,现在cmake打印它们。
缓存值可以通过在构建目录中运行cmake -DVAR=VALUE .
来更改。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 使用 find() 通过 std::set 的迭代器将不起作用。出了什么问题?
- Qt C++macOS问题。我正在使用函数 .find( "a word") 在多集中搜索单词,它适用于 Windows 但不适用于 mac
- 在C++中使用find函数时出现问题
- boost::unordered_map()的find()方法存在问题
- 使用std::find根据字符串向量检查字符串时出现的问题
- std::find中的Lambda问题
- 在使用std::find()查找数组中的字符串时遇到问题
- c++中find()命令的问题
- 关于空cmake FIND宏的问题
- std::find在xutility C++中出现问题
- 简单的问题:为什么字符串库函数std::string::find总是返回std::string::npos