如何链接自定义静态库
How to link custom static library?
当我在C OpenGL FreeGlut中制作游戏/模拟器时,我正在为自己制作静态库。我称这个图书馆谷物。它添加了struct Vector
和struct Color
和namespace GL
,其中包含void GL::drawShape(Vector *points, Color *colors, int size)
等方法。我正在使用Visual Studio 2017中的FreeGlut编译谷物,并且在编译测试用法时会很好地编译,当我运行它时,它可以正常运行,直到添加OpenGl的东西为止。该测试仍然良好,但用Application failed to start properly
的负载崩溃,当我去调试时,它在加载Main之前坠毁。使用依赖关系沃克并打开测试。exe唯一出现红色的是kernel32.dll下的freeglut.dll,但kernel32.dll依赖性满足,而glutils.lib不在列表中(但我认为那是因为它是静态的)。
即使我在谷物中评论实施情况,并将尸体留为
void GL::drawShape(Vector * points, ColorRGBA * colors, int size)
{
for (int i = 0; i < size; i++)
{
//glColor4f(colors[i].r, colors[i].g, colors[i].b, colors[i].a);
//glVertex3f(points[i].x, points[i].y, points[i].z);
}
}
test.exe仍然以相同的错误崩溃。
我应该如何将glutils.lib和freeglut.lib链接到test.exe?
可能由类型冲突引入此错误的原因。
void gl :: drawshape(向量 *点,colorrgba *颜色,int size)
对于上述函数声明,您想使用您在谷物中创建的结构定义,但是链接器找到了在其他库中已定义的那些结构名称并与它们链接为您为您创建执行文件。
要解决此错误,您应该告诉链接器要使用哪种定义,例如流动。
void GL::drawShape(GL::Vector * points, GL::ColorRGBA * colors, int size)
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- 将 RTOS 队列对象封装在仅具有静态分配的 IQueue 自定义接口中
- 指向重载静态成员的函数指针 - 在unique_ptr中用作自定义删除器
- 如何将 AST 用于自定义前端操作和 clang 静态分析
- 如何使用静态变量,使用自定义Getter和设置器在SWIG中扩展结构
- C++具有自定义初始化的静态调度
- 跨共享/静态库集成C++自定义内存分配器
- 初始化在 C++ 中自定义类的构造函数中没有参数的静态 const 类成员
- 如何链接自定义静态库
- 指向自定义类型的静态指针在初始化后使用相同类型的静态非空指针保持 nullptr
- 使用自定义比较功能对静态多维数组进行排序
- std::具有自定义比较函数结果的排序函数错误:必须调用对非静态成员函数的引用
- 将自定义 Apache 2.4 模块与 Linux 上的 httpd/apr 库静态链接时出错
- Typedef 具有静态自定义删除器的 shared_ptr 类型,类似于 unique_ptr
- 为什么自定义静态断言的实现不会立即静态断言"true"?
- 如何在VC++静态库中加载自定义二进制资源作为dll的一部分
- 自定义c++静态库不链接(Code::Blocks)