我最近学习了静态/动态库,我有一个问题:如何在静态库中创建一个类??我为图书馆写了以下内容:
extern "C"
{
struct Sum
{
int sum(int a, int b)
{
return a + b;
}
};
}
这是为了使用:
#include <iostream>
extern "C"
{
struct Sum
{
int sum(int, int);
};
}
int main()
{
Sum sum;
std::cout << sum.sum(1, 1) << std::endl;
return 1;
}
但是不行,链接器错误:LNK2001: unresolved external symbol "public: int __cdecl Sum::sum(int,int)" (?sum@Sum@@QEAAHHH@Z)
你怎么能在静态库中做普通的 oop?
根据 LNK 错误,您正在使用 Visual C++。
这是修改为创建和使用静态库的示例。
sum.h 库的头文件
sum.cpp 实现文件
使用库的main.cpp文件
将库文件编译成目标文件:
将其编译成库
sumlib:使用库编译主文件:
一切 - 库被创建和使用。