PurC-Midnight-Commander
PurC-Midnight-Commander copied to clipboard
构建错误
[ 5%] Generating ../../../assets/about-purc.html [ 6%] Generating ../../../DerivedSources/ForwardingHeaders/wtf/PlatformLegacy.h [ 7%] Generating ../../clock.html [ 7%] Generating ../../../assets/about-hvml.html [ 4%] Generating ../../../DerivedSources/ForwardingHeaders/wtf/Compiler.h [ 7%] Generating ../../../assets/layout-sidebar.html [ 7%] Generating ../../../assets/about-xguipro.html [ 8%] Generating mc.hlp... [ 8%] Generating ../../bootstrap.html [ 9%] Generating ../../../DerivedSources/ForwardingHeaders/wtf/PlatformHave.h [ 9%] Building C object source/lib/CMakeFiles/PurcMC.dir/lib/avl-cmp.c.o In file included from /home/deepin/data/sda/test/HVML/build/purc-m-c/build-test/hvml-purc-midnight-commander-0.0.1/source/lib/config.h:30, from /home/deepin/data/sda/test/HVML/build/purc-m-c/build-test/hvml-purc-midnight-commander-0.0.1/source/bin/consaver/cons.saver.c:52: /home/deepin/data/sda/test/HVML/build/purc-m-c/build-test/hvml-purc-midnight-commander-0.0.1/DerivedSources/ForwardingHeaders/wtf/Platform.h:45:10: fatal error: wtf/PlatformOS.h: No such file or directory #include <wtf/PlatformOS.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [source/bin/CMakeFiles/consaver.dir/build.make:76: source/bin/CMakeFiles/consaver.dir/consaver/cons.saver.c.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:369: source/bin/CMakeFiles/consaver.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 9%] Linking C static library libWTF.a [ 9%] Generating ../../simplest.html
我执行的步骤 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DPORT=Linux . && make
创建一个 build 子目录,然后在子目录中执行 cmake 比较好:
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DPORT=Linux .. && make
我没有遇到您提到的问题,但如果在源代码目录中执行 cmake 命令,我遇到了另外一个问题,跟源代码目录中使用 bin/
子目录名有关。
因此,创建一个构建用的目录,然后在构建目录中执行 cmake 和 make 会比较好一些。
@VincentWei 我在build目录下构建也是提示同样的错误
我这里不能重现这个问题。我检查了,PlatformOS.h 这个头文件在 build/ 目录的 DerivedSources/ 子目录中是存在的,这个目录也已经被设置为头文件的搜索路径。
是不是代码较老?
我这里不能重现这个问题。我检查了,PlatformOS.h 这个头文件在 build/ 目录的 DerivedSources/ 子目录中是存在的,这个目录也已经被设置为头文件的搜索路径。
是不是代码较老?
你是在什么环境下构建的? 我是在deepin v20的系统上进行构建的
我是在 Ubuntu 20.04 和 22.04 上构建的。
你可以在 cmake 之后运行 find . -name PlatformOS.h
看看这个头文件是不是在 build/ 目录下。
我是在 Ubuntu 20.04 和 22.04 上构建的。
你可以在 cmake 之后运行
find . -name PlatformOS.h
看看这个头文件是不是在 build/ 目录下。
头文件不在build目录下,cmake执行出问题了么
头文件不在build目录下,cmake执行出问题了么
嗯,那基本可以定位是 cmake 的问题。可以升级下 cmake 看看。不过其他仓库也基本是这么用 cmake 的,单就这个仓库出问题,也挺奇怪。
另外,这个仓库中构建的工具并不是运行 purc 还有 xgui-pro 等所必须的,暂时可以跳过。
应该是同样的问题:https://github.com/HVML/PurC-Midnight-Commander/issues/1#issuecomment-1229234945
需要 root 权限,试着加上 sudo
看看