【问题标题】:C++ compile error (LNK1120 and LNK2019) with Visual StudioVisual Studio 的 C++ 编译错误(LNK1120 和 LNK2019)
【发布时间】:2014-01-19 04:14:15
【问题描述】:

我是 C++ 新手,我需要一个非常基本的程序的帮助。

背景信息: 我最近得到了罗技G19s。它有一个小的彩色液晶显示屏。您可以用 C++ 为它编写应用程序。所以我决定尝试一下,即使我是 C++ 新手,写一些 hello world。应该不难,但事实证明这是一个真正的痛苦!

问题: 当我编译我的小型 Hello World 应用程序时,我收到 2 个错误:LNK1120 和 LNK2019,没有任何其他信息。这是我的代码:

#pragma comment(lib, "LogitechLcd.lib")
#include "LogitechLcd.h"

int main() {
    LogiLcdInit(L"Hello World", LOGI_LCD_TYPE_COLOR);
    while (true) {
        LogiLcdUpdate();
        LogiLcdColorSetText(4, L"Hello G19s", 255, 0, 0);
    }
    LogiLcdShutdown();
    return 0;
}

这是LogitechLcd.h (pastebin.com)

当我编译这个(使用 Visual Studio Professional 2013)时,我得到了上面提到的错误。任何人都可以帮助我(如果可能的话,解释为什么它不起作用)?

编辑: 我现在有点让它工作了! Viusal Studio 没有找到 lib,所以我不得不将它放在项目文件夹中。非常愚蠢的错误!

【问题讨论】:

  • 那些不是编译器错误,而是链接器错误(LNK = LINKER 或 LINK)。确保可以找到文件LogitechLcd.lib
  • 不要让我们猜测错误。
  • 请复制准确的输出。这些是来自链接器的错误。它找不到符号。您可能没有将库的路径传递给链接器。
  • 好的,这是确切的输出:
  • Fehler 2 错误 LNK1120: 1 nicht aufgelöste Externe E:\Freizeit\Programmieren\G19s\thisWillWork\Debug\thisWillWork.exe 1 1 thisWillWork Fehler 1 错误 LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@ 16”在函数“___tmainCRTStartup”中。 E:\Freizeit\Programmieren\G19s\thisWillWork\thisWillWork\MSVCRTD.lib(crtexew.obj) thisWillWork -是的,我是德国人!

标签: c++ compiler-errors visual-studio-2013 logitech


【解决方案1】:

听起来您将项目设置为错误的类型。

here

还有here

【讨论】:

  • 我的项目设置为 win32 应用程序,如果我没有完全弄错,这意味着它的原生 c++ PS:编译器也设置为 32 位
【解决方案2】:

它是一个控制台项目吗? (如果您不知道,请查看项目属性 > 链接器 > 系统 > 子系统)。它应该是第一个出现的东西。如果是这样,请将您的 main 函数设为 wmain 函数。如果是 Win32 项目,则类似于 WinMain(16),不确定。

希望对你有所帮助。

【讨论】:

  • 如果您错过了它,OP 输入 a comment:“正如编辑中所说,我终于让它工作了” 2014 年 1 月 3 日 14:52
猜你喜欢
  • 2013-01-04
  • 1970-01-01
  • 2014-09-06
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多