我遵循HOWTOBUILD.txt
中的步驟。我已經爲glfw建立了必要的文件。這是第一次,鏈接器抱怨glfw。搜索後,似乎我需要鏈接到gl3w
see this link。我爲gl3w
生成了靜態庫。現在,我已經打開了一個新項目,其中包括到include
的路徑,請參見下圖。無法編譯OpenGL Superbible 7th樣本(無法解析的外部符號)
爲連接器,我已經鏈接的是glfw3dll.lib gl3w.lib opengl32.lib
,其中包括他們的去路。如果我運行從第一章的樣品,
main.cpp
#include "sb7.h"
class my_application : public sb7::application
{
void render(double currentTime)
{
static const GLfloat red[] = { 1.0f, 0.0f, 0.0f, 1.0f };
glClearBufferfv(GL_COLOR, 0, red);
}
};
DECLARE_MAIN(my_application);
我得到鏈接錯誤。
1>main.obj : error LNK2019: unresolved external symbol "int __cdecl sb6IsExtensionSupported(char const *)" ([email protected]@[email protected]) referenced in function "public: virtual void __thiscall sb7::application::run(class sb7::application *)" ([email protected]@[email protected]@[email protected]@Z)
1>main.obj : error LNK2019: unresolved external symbol "private: static void __stdcall sb7::application::debug_callback(unsigned int,unsigned int,unsigned int,unsigned int,int,char const *,void *)" ([email protected]@[email protected]@[email protected]) referenced in function "public: virtual void __thiscall sb7::application::run(class sb7::application *)" ([email protected]@[email protected]@[email protected]@Z)
1>main.obj : error LNK2001: unresolved external symbol "protected: static class sb7::application * sb7::application::app" ([email protected]@[email protected]@[email protected])
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
我使用Visual Studio 2013年我已經追查這些功能鏈接器抱怨(即sb6IsExtensionSupported()
)之一,下面的圖片顯示了這種功能是如何被稱爲sb7.h
而它的身體竟然在sb7.cpp
中實施。
這實際上是正確的?