Clang 找不到 CPP 文件

Clang Cannot find CPP Files

提问人:Rohit Nagpal 提问时间:7/5/2021 更新时间:7/5/2021 访问量:173

问:

我正在处理一个使用 WSL 的项目。现在,问题是 WSL 需要访问链接器所需的 CPP 项目文件。以前,使用此命令(忽略标志):-

clang++ -pthread -rdynamic -fopenmp -Wl,-rpath-link= -Wl,--no-undefined -Wl,--strip-discarded -Wl,--gc-sections -m64 -o ./main @main.rsp

我收到此错误:-

/usr/bin/ld: /mnt/d/test/dll_so/out/../main/main.cpp:15: undefined reference to `A::add1(int, int)'

但是,当我更改命令(添加 CPP 文件的路径)时:-

clang++ -pthread -rdynamic -fopenmp -Wl,-rpath-link= -Wl,--no-undefined -Wl,--strip-discarded -Wl,--gc-sections -m64 -o ./main @main.rsp /mnt/path/to/file.cpp

链接器正在链接文件。但是,现在的问题是我有一个非常大的项目,我无法包含每个 CPP 文件的路径(因为这将是巨大的)。我现在该怎么办。有人建议我为它创建一个 makefile,但仍然对如何创建和使用它感到困惑。请建议我克服这个问题。

C++ Linux clang Windows-subsystem-for-linux 未定义引用

评论

0赞 Stephen Newell 7/5/2021
构建系统(可以包括 makefile)是正确的解决方案。你有没有查过如何写一个makefile?
0赞 Rohit Nagpal 7/5/2021
我查看了一下,但我不确定如何将该 makefile 与 clang 一起使用。另外,如果您有任何有关该过程的参考资料,可以分享吗?
0赞 Stephen Newell 7/5/2021
那么,为什么不问具体的问题,展示你的makefile,以及你在哪里遇到问题。请确保包含一个最小的可重现示例

答: 暂无答案