我是llvm和clnag的新手。我正在尝试用clang编译和链接代码以生成代码覆盖范围。我遇到了链接错误。以下是重现此问题的最少步骤。
我有简单的三个文件
// Abc.h
void printValue(int number);
// Abc.cpp
#include "Abc.h"
void printValue(int number)
{
cout<<"Nnumber is "<<number<<endl;
}
// Test.cpp
#include "Abc.h"
void Func1()
{
printValue(10)
}
int main()
{
Func1()
return 0
}
我正在使用c lang编译程序。 当我通过以下命令进行编译时,它会进行编译和链接
clang ++。exe Abc.cpp-c clang ++。exe Abc.o Test.cpp-c-output.exe
output.exe生成
但是当使用-fprofile-instr-生成-fcoverage-映射编译同一文件时,它给出了链接错误
clang ++。exe Abc.cpp-fprofile-instr-生成-fcoverage-映射-c
clang ++。exe Abc.o Test.cpp-fprofile-instr-生成-fcoverage-映射-o output.exe
下面是一些链接错误
测试-d715a5.o:错误LNK2005:__ profd_? ? $? 6U? $ char_traits @ D @ std @@@ std @@ YAAEAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ 0 @ AEAV10 @ PEBD @ Z已经在Abc.o中定义
测试-d715a5.o:错误LNK2005:__ profd_?在Abh.o中已定义的length @?$ char_traits @ D @ std @@ SA_KQEBD @ Z
任何帮助都将非常有用。