可能原因:
1、函数未声明:在hpp文件中,需要先声明rodrigues函数,然后在cpp文件中定义该函数。如果hpp文件中没有声明rodrigues函数,则cpp文件中也无法找到该函数。
2、头文件未包含:在cpp文件中,需要包含hpp文件。如果cpp文件中没有包含hpp文件,则无法找到rodrigues函数。
例,下面是一个小小实例,hpp文件中声明了Rodrigues函数,cpp文件中定义了该函数。在main.cpp文件中,包含了hpp文件,因此可以找到Rodrigues函数。代码如下:
hpp文件(rodrigues.hpp):
#ifndef RODRIGUES_HPP
#define RODRIGUES_HPP
void Rodrigues(double, double, double, double*);
#endif // RODRIGUES_HPP
cpp文件(rodrigues.cpp):
#include "rodrigues.hpp"
#include <iostream>
void Rodrigues(double a, double b, double c, double* d) {
*d = a + b + c;
}
main.cpp:
#include "rodrigues.hpp"
#include <iostream>
int main() {
double x;
Rodrigues(1.0, 2.0, 3.0, &x);
std::cout << "Result: " << x << std::endl;
return 0;
}