我正在寻找cl命令/ FC的clang等价物。我需要构建工具的完整路径来解析并打开带有错误的代码文件。
答案 0 :(得分:0)
您需要在命令行上指定文件的完全限定或相对路径,而不是仅传入文件名。在下面的例子中,调试器不知道在哪里找到" blah.cc"因为我只通过指定文件名编译:
~ pwd
/mnt/scratch/myproject/src
~ clang++ blah.cc -c -o /mnt/scratch/myproject/build/blah.o
~ cd ../build
~ clang++ *.o -o myprogram
...但是,如果相反我做了这个:
~ pwd
/mnt/scratch/myproject
~ clang++ /mnt/scratch/myproject/src/blah.cc -c -o /mnt/scratch/myproject/build/blah.o
# or:
~ clang++ src/blah.cc -c -o build/blah.o
# ...
...然后它将完全限定或相对路径嵌入调试部分。
如果您使用部分限定路径,则必须告诉GDB在哪里查找代码。您可以查看它的文档here,尽管两个gdb命令可能会有所帮助:
# This will cause gdb to look in "path2" instead of "path1"
(gdb) set substitute-path path1 path2
# This allows you to give a list of directories to search for your source.
# note that if you give relative paths on the command-line, it'll concatenate
# these paths and the relative path used at compile-time.
(gdb) set directories path [path ...]
答案 1 :(得分:0)
CFLAGS + = -fdiagnostics-absolute-paths