gpt4 book ai didi

c++ - 如何链接到 Visual C++ 2010 中的 .lib 文件?没有引用项目?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:58 26 4
gpt4 key购买 nike

我只是有一个问题,我已经尝试解决了最长时间。

我在 Visual C++ 中有一个静态库项目,我希望另一个项目能够链接到它。到目前为止,我一直只是添加对静态库项目的引用,它会自动链接库。

我希望能够仅使用头文件和 .lib 文件链接到库。但是,我收到“未解析的外部符号”错误。

我认为我做对了 - 我指定了包含目录、库目录,然后进入链接器输入属性并将库作为附加依赖项提供。

我可以通过这种方式引用其他静态库(如 SDL),那么为什么我在尝试引用我的静态库时会出错?

感谢您的帮助。

问题是它没有引用实际的 lib 文件,还是 lib 本身有问题?这些是我收到的错误消息:

错误 2 error LNK2019: 未解析的外部符号“public: void __thiscall XEngine::XCore::XScreen::init(class XEngine::XCore::XGame &)” (?init@XScreen@XCore@XEngine@@QAEXAAVXGame @23@@Z) 在函数“void __cdecl XEngine::XEngineInit(class XEngine::XCore::XScreen &,class XEngine::XCore::XGame &)”中引用 (?XEngineInit@XEngine@@YAXAAVXScreen@XCore@1 @AAVXGame@31@@Z) C:\Users\Xander Masotto\Documents\Visual Studio 2010\Projects\Pong\Pong\source.obj Pong

错误3错误LNK2019:未解析的外部符号“public:__thiscall XEngine::XCore::XScreen::~XScreen(void)”(??1XScreen@XCore@XEngine@@QAE@XZ)在函数“void __cdecl”中引用XEngine::XEngineInit(类 XEngine::XCore::XGame &)"(?XEngineInit@XEngine@@YAXAAVXGame@XCore@1@@Z) C:\Users\Xander Masotto\Documents\Visual Studio 2010\Projects\Pong\Pong\source.obj Pong

Error 4 error LNK2019: unresolved external symbol "public: __thiscall XEngine::XCore::XScreen::XScreen(void)"(??0XScreen@XCore@XEngine@@QAE@XZ) 在函数 "void __cdecl XEngine::XEngineInit(类 XEngine::XCore::XGame &)"(?XEngineInit@XEngine@@YAXAAVXGame@XCore@1@@Z) C:\Users\Xander Masotto\Documents\Visual Studio 2010\Projects\Pong\Pong\source.obj 傍

最佳答案

确保您正在导出库中要公开给其他应用程序(即您的 dll 或 exe)的函数、类和变量。默认情况下,它们不会暴露。

执行此操作的基础工作通常在您为您的图书馆创建项目时进行布置。

#ifdef TESTLIB_EXPORTS
#define TESTLIB_API __declspec(dllexport)
#else
#define TESTLIB_API __declspec(dllimport)
#endif

有了上面在项目创建期间生成的代码,我只需要再做两件事来公开函数、类或变量:

1) 确保我已将 TESTLIB_EXPORTS 定义为预处理器。项目设置:C++/Preprocessor/PreprocessorDefinitions

2) 在我想公开的每个函数、类或变量上使用 TESTLIB_API 定义:

class TESTLIB_API Order {
void doSomething();
};

关于c++ - 如何链接到 Visual C++ 2010 中的 .lib 文件?没有引用项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3681026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com