我正在开发一个关于 c ++ 的项目,需要执行 CMakeLists.txt 文件来运行它。我使用sudo
安装了 cmake , doxygen , cmake-curses-gui 和 make 。然后我尝试运行该文件。
以下是cmake代码的一部分 -
if (BUILD_DOC)
find_package(Doxygen)
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
${PROJECT_SOURCE_DIR}/doc/Doxyfile @ONLY)
add_custom_target(${PROJECT_NAME}_doc ALL ${DOXYGEN_EXECUTABLE}
${PROJECT_SOURCE_DIR}/doc/Doxyfile)
endif ()
在这里,它给了我一条错误消息,说明
CMakeLists.txt上的CMake错误:77(configure_file):configure_file 配置文件时出现问题
您知道,第77行是configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
。
如果我将AND DOXYGEN_FOUND
添加到if
条件,则它根本不会执行任何操作,这意味着它无法找到 doxygen可执行文件 。但正如我已经说过的,我已经安装了 doxygen 。
我是cmake的新手。那么,有谁可以请帮助我
编辑:
我使用的操作系统是Ubuntu 16.04
我在执行if(DOXYGEN_FOUND)
命令之后放了find_package(doxygen)
,但我在第78行而不是中得到了相同的 cmake错误 >第77行
此外,既然我从评论中获得了足够的信息,我才意识到我的问题更多的是找到Doxyfile.in文件所在的位置而不是配置文件。谁能帮帮我呢?
答案 0 :(得分:4)
错误很明显
configure_file配置文件问题
CMake的configure_file(<input> <output>)
命令用于将输入文件复制到输出并用相应的值替换输入中的@VARIABLES@
。
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in ${PROJECT_SOURCE_DIR}/doc/Doxyfile @ONLY)
您必须找到此过程失败的原因:
${PROJECT_SOURCE_DIR}
包含项目的正确路径,并确保文件Doxyfile.in
是正确的文件夹(&lt; project dir&gt; / doc)Doxyfile.in
的内容不包含任何语法错误,特别是@ VARIABLES @需要替换为其CMake值。请注意,此错误与您系统上的Doxygen无关,以及CMake实际发现与否的事实。