错误LNK2019无法解析的用于调用C函数的外部符号

时间:2019-05-18 01:01:50

标签: c++ c function unresolved-external

我有returnPolygonC.h

struct returnPolygonC
{
    double *x;
    double *y;
};

struct returnPolygonC getStruct(double *in1, double *in2, struct returnPolygonC rpc);

returnPolygonC.c

#include "returnPolygonC.h"

struct returnPolygonC getStruct(double *in1, double *in2, struct returnPolygonC rpc) {
    rpc.x = in1;
    rpc.y = in2;
    return rpc;
}

main.cpp

#include "returnPolygonC.h"
#include <iostream>
using namespace std;

int main()
{
    double xarr[5] = { 1,2,3,4,5 };
    double yarr[5] = { 21,22,23,24,25 };

    double xarr0[5] = { 0,0,0,0,0 };
    double yarr0[5] = { 0,0,0,0,0 };

    returnPolygonC rp = {xarr0, yarr0};
    rp = getStruct(xarr, yarr, rp);
    std::cout << "x: " << std::endl;
    for (int i = 0; i < 5; i++) {
        std::cout << rp.x[i] << std::endl;
    }
    std::cout << "y: " << std::endl;
    for (int i = 0; i < 5; i++) {
        std::cout << rp.y[i] << std::endl;
    }
    return 0;
}

但是我得到了错误

Error   LNK2019 unresolved external symbol "struct returnPolygonC __cdecl getStruct(double *,double *,struct returnPolygonC)" (?getStruct@@YA?AUreturnPolygonC@@PAN0U1@@Z) referenced in function _main returnPolygonC  C:\me\source\repos\returnPolygonC\returnPolygonC\main.obj   1   

这是为什么?

0 个答案:

没有答案