使用自制Lib链接错误

时间:2012-03-23 21:07:09

标签: c++ static-linking

我们正在尝试为我们的游戏引擎构建一个编辑器,因此我们在Editor Proj中创建了一个来自Engine和链接的库。 在Proj中注释了Lib和Include Dir的路径。支柱。 我尝试使用和不使用WinAPI但链接错误仍然存​​在。 直接在Header中定义的函数,但c ++文件中定义的函数正在创建链接错误。我必须在Proj中添加.cpp文件,是不是完全没有lib呢? -.-

操作系统:Windows 7 64位

Visual Studio 2010

#include "pch.h"

Application* g_pApp = NULL;

INT WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd )
{
BlocoApp blocoApp(&g_pApp);

// start engine
Editor mainForm;
if(!g_pApp->Init(L"Bloco", 1600, 900, true, hInstance))
{
    g_pApp->Exit();
    return 1;
}

// main loop
DXUTMainLoop();

g_pApp->Exit();

return 0;
}

编译器错误:

error LNK2001: Nicht aufgelöstes externes Symbol ""public: bool __thiscall Application::Init(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,unsigned int,unsigned int,bool,struct HINSTANCE__ *,struct HWND__ *)" (?Init@Application@@QAE_NV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@II_NPAUHINSTANCE__@@PAUHWND__@@@Z)".

1 个答案:

答案 0 :(得分:0)

  

Lib的路径...在Proj中被注释。丙

我怀疑您已在项目的“其他库目录”设置中配置了库所在的目录。这将配置链接器将查找已被告知要查找的库文件的位置。

但是,您还需要告诉链接器将库实际包含为输入文件。这是在IDE中使用“输入/附加依赖项”属性完成的。