Microsoft Visual Studio 中的外部链接问题

发布于 2024-12-05 12:58:36 字数 360 浏览 1 评论 0原文

我有两个共享外部变量的库。 在 libA 中,我在标头中声明了这样的变量:

extern int Gbl;

然后我在源代码中再次将其定义为:

int Gbl;

接下来然后我设置 Gbl=1;

在 libB 中,我包含 libA 的头文件。还有 printf Gbl,期望在这里得到 1。

虽然不幸的是我什至无法编译它,因为我收到错误:

undefined symbol '_Gbl' referenced in ....

我被告知这是一个链接错误,但我不知道从这里做什么

I have two libs that share a extern variable.
In libA I have the variable declared in the header as such:

extern int Gbl;

then I define it again in the source as:

int Gbl;

next then I set Gbl=1;

in libB, I include libA's header file. And printf Gbl, expecting to get 1 here.

though unfortunately i can't even compile this since I get the error:

undefined symbol '_Gbl' referenced in ....

I was told that this is a linking error, but I'm not sure what to do from here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

高冷爸爸 2024-12-12 12:58:36

您需要编译包含 libA 的 libB。这是通过将 -llibA 添加到编译行来完成的。如果您没有正确设置库选项,则需要添加 -lpath_to_library

You need to compile the libB with libA included. This is done by adding -llibA to the compile line. If you don't have library options set correctly, you need to add -lpath_to_library

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文