【发布时间】:2022-01-02 02:16:39
【问题描述】:
我的 Visual Studio 解决方案中有三个项目:项目 A、项目、B 和项目 C。项目 A 和 B 分别编译为 A.lib 和 B.lib,项目 C 编译为 C.dll。我想将 A.lib 和 B.lib 中的函数放入 C.dll 中 - 我该怎么做才能实现这一点?我感觉我在错误的时间使用了 __declspec(dllexport),或者我忘记了链接。
=== 项目 A ===
foo.h
#include <iostream>
__declspec(dllexport) void foo();
foo.cpp
#include "foo.h"
void foo()
{
std::cout << "Foo!\n";
}
=== 项目 B ===
goo.h
#include <iostream>
__declspec(dllexport) void goo();
goo.cpp
#include "goo.h"
void goo()
{
std::cout << "Goo!\n";
}
=== 项目 C ===
// What goes here?
【问题讨论】:
-
您需要将 A、B 和 C 的公共标头连同您已与静态库 A 和B.
标签: c++ visual-studio dll linker static-libraries