提问人:PallottO 提问时间:11/17/2023 最后编辑:HardcoreHenryPallottO 更新时间:11/17/2023 访问量:16
make: *** [makefile:135: obj/bitvector.o] 错误 1
make: *** [makefile:135: obj/bitvector.o] Error 1
问:
我正在尝试编译工具 Shapeit5。 运行 make 命令后,该工具会发出以下警告:
g++ -std=c++17 -O3 -mavx2 -mfma -D__COMMIT_ID__="3d97fcd" -D__COMMIT_DATE__="2023-10-02" -c src/containers/bitvector.cpp -o obj/bitvector.o -Isrc -I/opt/tools/htslib/opt/tools/htslib -I/opt/tools/boost_1_73_0/boost/include
In file included from src/containers/bitvector.h:26,from src/containers/bitvector.cpp:23:
src/utils/otools.h:52:10: fatal error: htslib/hts.h: No such file or directory
52 | #include <htslib/hts.h>
| ^~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:135: obj/bitvector.o] Error 1
我不明白问题是否与我填写的makefile有关,或者更确切地说与系统问题有关。 有什么建议吗?
非常感谢。
亲切问候。
斯特凡诺
已尝试重新安装软件以及所有依赖项
答:
0赞
HardcoreHenry
11/17/2023
#1
这很可能是您的命令行设置不正确。请注意,您有 gcc 命令行选项:
-I/opt/tools/htslib/opt/tools/htslib
这意味着为了工作,文件必须位于 .你应该做#include <htslib/hts.h>
hts.h
/opt/tools/htslib/opt/tools/htslib/htslib/hts.h
find /opt/tools/htslib/opt/tools/htslib -name hts.h
(假设您使用的是 Linux),看看它在哪里。如果 htslib 目录本身不存在,则需要安装 htslib 或调整命令行参数以指向 htslib 的安装目录。如果它确实存在,但文件不在子目录中,则需要修改 c 文件以指向正确的子目录,或者修改生成文件以包含正确的路径。hts.h
htslib
评论