Doxygen-找不到FLEX(缺少:FLEX_EXECUTABLE)

时间:2018-06-22 10:34:04

标签: cmake doxygen flex-lexer apt

我知道这里有措辞非常相似的问题,但是我在那里找不到我的问题的答案,所以我们开始:
我试图查看其他人调用了我的C ++方法,因此在谷歌搜索后找到了Doxygen。
在他们的page上,安装过程非常简单:

  

如果您安装了必要的构建工具(即g ++,python,   cmake,flex,bison),则应执行以下操作以获取初始   存储库的副本:

     

git clone https://github.com/doxygen/doxygen.git
  cd doxygen
  mkdir build
  cd build
  cmake -G "Unix Makefiles" ..
  make

直到cmake -G "Unix Makefiles" ..一切正常,然后在该命令上发生以下错误:

test@test-VirtualBox:~/doxygen/build$ cmake -G "Unix Makefiles" ..
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find FLEX (missing: FLEX_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.5/Modules/FindFLEX.cmake:230 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:84 (find_package)

我认为:没什么,为什么什么都可以立即使用...似乎我必须安装flex
所以我做:
sudo apt-get update
sudo apt-get install flex
sudo apt autoremove(因为安装后命令行建议我这样做)

现在在我看来,flex已经安装好了,我再次尝试cmake -G "Unix Makefiles" .. ...相同的错误。我关闭命令行,再次启动,然后重试-相同的错误...
所以现在我慢慢地生气了,并向Stack Overflow寻求帮助:D
我究竟做错了什么???

由于我看到有人在另一个问题的评论中问这个问题,所以这是flex的输出:

test@test-VirtualBox:~/doxygen/build$ flex
The program 'flex' can be found in the following packages:
 * flex
 * flex-old
Try: sudo apt install <selected package>

1 个答案:

答案 0 :(得分:13)

似乎apt autoremove确实删除了我在上一步中刚刚安装的软件包。
所以对我有用的是:

git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build

这些是新的:


sudo apt-get install flex
sudo apt-get install bison

cmake -G "Unix Makefiles" ..
make

...但是,恐怖当然不会到此为止,请参见my next question:D