从另一个动态链接库项目调用静态库函数
Calling a static library function from another dynamic link library project
我有一个静态库,它的头文件中有一个类似下面的类:
namespace MyNameSpace
{
class MyClass
{
public:
void Something();
};
}
我将上面的静态库与我的另一个动态链接库项目链接在一起,现在我可以像下面这样调用上面的函数:
int Main()
{
MyNameSpace::MyClass A;
A.Something();
}
虽然上面工作正常,但我喜欢像下面这样使用我的静态库函数,而不是声明类:
int Main()
{
MyNameSpace::Something();
}
但我想知道这样做的正确方法。
我在静态库中尝试过,例如:
namespace MyNameSpace
{
void Something();
}
在将静态库链接到动态库后,尝试使用其中的函数,如下所示:
MyNameSpace::Something();
但是,IntelliSense 看不到它,我已经包含了静态库的头文件并正确链接了它。
我想做的是在类之外的静态库中声明一个函数,并使它对它链接到的另一个项目可见。在本例中,到动态库。
提前谢谢。
我终于能够通过声明如下所示的函数来做我想做的事:
在静态库中:
namespace MyNameSpace
{
void Something();
}
在动态链接库中:
MeNameSpace::Something();
现在,即使在文件范围之外,该函数也可见。
相关文章:
- 将参数中的函数\类传递给静态库
- Windows 是否可以调用静态库中的 WinMain 函数C++
- CMake 不链接 C 和 C++ 静态库(未定义对函数的引用)
- 如何在共享库中保留静态库中的自由函数
- 在静态库中声明函数,在使用该相同库的应用程序中定义它
- 从另一个动态链接库项目调用静态库函数
- DLL 链接静态库 - 未使用函数中未解析的链接器符号
- 静态库中的 g++ 错误链接函数
- 可以从静态库中使用GCC内联函数
- 未定义的对通过静态库中调用的同一文件中定义的函数的引用
- 为什么指向非静态成员函数的指针不能用作标准库算法的一元谓词
- 对静态库中SDL_mixer函数的未定义引用(代码::块)
- 包含多个 .h 和 .cu 文件的静态库无法解析函数
- G++ 无法解析静态库中的非内联函数
- 为什么 Clang++ 不在另一个静态库中运行全局对象构造函数?
- 如何在不同的静态库中拥有函数的声明和定义
- Qt库-静态成员函数的线程安全性
- 无法从Java类调用静态库函数
- 在从全局对象调用的静态库函数中使用std::vector时,调试断言失败
- 发布构建问题;将std::string对象传递给静态库函数