错误 LNK1120:1 未解析的外部 - VS13 C [重复]

2024-03-30

我尝试编译这段代码:

#include <windows.h>
#include <commctrl.h>


#define ID_TABCTRL 1
#define ID_EDIT 2
#define BTN_ADD 3
#define BTN_DEL 4
#define BTN_CLR 5
#define MAX_TAB_LEN 15

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HWND hTab, hEdit;

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PWSTR pCmdLine, int nCmdShow) {

    MSG  msg;
    WNDCLASSW wc = { 0 };
    wc.lpszClassName = L"Tab control";
    wc.hInstance = hInstance;
    wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
    wc.lpfnWndProc = WndProc;
    wc.hCursor = LoadCursor(0, IDC_ARROW);

    RegisterClassW(&wc);
    CreateWindowW(wc.lpszClassName, L"Tab control",
        WS_OVERLAPPEDWINDOW | WS_VISIBLE,
        100, 100, 380, 230, 0, 0, hInstance, 0);

    while (GetMessage(&msg, NULL, 0, 0)) {

        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return (int)msg.wParam;
}

WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(_In_ const INITCOMMONCONTROLSEX *picce);

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
    WPARAM wParam, LPARAM lParam) {

    TCITEMW tie;
    wchar_t text[4];
    LRESULT count, id;
    INITCOMMONCONTROLSEX icex;

    switch (msg) {

    case WM_CREATE:

        icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
        icex.dwICC = ICC_TAB_CLASSES;
        InitCommonControlsEx(&icex);

        hTab = CreateWindowW(WC_TABCONTROLW, NULL, WS_CHILD | WS_VISIBLE,
            0, 0, 200, 150, hwnd, (HMENU)ID_TABCTRL, NULL, NULL);

        hEdit = CreateWindowW(WC_EDITW, NULL, WS_CHILD | WS_VISIBLE | WS_BORDER,
            250, 20, 100, 25, hwnd, (HMENU)ID_EDIT, NULL, NULL);

        SendMessage(hEdit, EM_SETLIMITTEXT, MAX_TAB_LEN, 0);

        CreateWindowW(WC_BUTTONW, L"Add", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            250, 50, 100, 25, hwnd, (HMENU)BTN_ADD, NULL, NULL);

        CreateWindowW(WC_BUTTONW, L"Delete", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            250, 80, 100, 25, hwnd, (HMENU)BTN_DEL, NULL, NULL);

        CreateWindowW(WC_BUTTONW, L"Clear", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            250, 110, 100, 25, hwnd, (HMENU)BTN_CLR, NULL, NULL);
        break;

    case WM_COMMAND:

        switch (LOWORD(wParam)) {

        case BTN_ADD:

            GetWindowTextW(hEdit, text, 250);

            if (lstrlenW(text) != 0) {

                tie.mask = TCIF_TEXT;
                tie.pszText = text;
                count = SendMessageW(hTab, TCM_GETITEMCOUNT, 0, 0);
                SendMessageW(hTab, TCM_INSERTITEMW, count,
                    (LPARAM)(LPTCITEM)&tie);
            }
            break;

        case BTN_DEL:

            id = SendMessageW(hTab, TCM_GETCURSEL, 0, 0);

            if (id != -1) {

                SendMessageW(hTab, TCM_DELETEITEM, 0, id);
            }
            break;

        case BTN_CLR:

            SendMessageW(hTab, TCM_DELETEALLITEMS, 0, 0);
            break;
        }
        break;

    case WM_DESTROY:

        PostQuitMessage(0);
        break;
    }

    return(DefWindowProcW(hwnd, msg, wParam, lParam));
}

看起来像这个库:

#include <commctrl.h>

给我以下错误:

error LNK2019: unresolved external symbol        __imp__InitCommonControlsEx@4 referenced in function _WndProc@16   C:\Users\User\Desktop\Magshimim\Magshimim EX1\Magshimim EX1\01.obj  Magshimim EX1

现在的代码是这里的示例代码:http://zetcode.com/gui/winapi/advancedcontrols/ http://zetcode.com/gui/winapi/advancedcontrols/

所以我发现我的编译器出了问题...... 任何人都可以帮我找到问题并纠正它吗?

编辑: 这个问题不是重复的,因为受审的重复以非常笼统的方式讨论了错误本身,作为初学者,我没有能力从这样的问题中构建正确的答案,并且因为该代码已被许多检查的人使用我认为这个例子无法提出具体问题


要么添加#pragma comment(lib, "comctl32.lib")或调整链接器设置以链接comctl32.lib.

You can check the table at the bottom of a function's MSDN article https://msdn.microsoft.com/en-us/library/windows/desktop/bb775697.aspx to find out, which library you are required to link against. Every Windows application is linked against kernel32.dll and every GUI application against user32.dll. Anything else needs to be specified explicitly1 https://msdn.microsoft.com/en-us/library/windows/desktop/bb775697.aspx.


1 https://msdn.microsoft.com/en-us/library/windows/desktop/bb775697.aspx有异常情况请检查下面是 IInspectable 的评论 https://stackoverflow.com/questions/38317651/error-lnk1120-1-unresolved-external-vs13-c/38317757?noredirect=1#comment64062763_38317757.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 LNK1120:1 未解析的外部 - VS13 C [重复] 的相关文章

随机推荐

  • C++ 中的浮点变量

    我正在学习C 并在一个简单的程序中遇到这些问题 所以请帮助我 这是代码 include
  • 捕获页面重定向的下载链接 (WGET)

    这是我的问题 我目前正在为我编写一个脚本 该脚本可以自动下载一些我用来 清理 计算机的软件 我已经能够使用如下下载 URL 进行下载 https www driverscloud com plugins DriversCloud Win e
  • C++ 单击红色 X 时防止控制台窗口关闭

    我正在开发一个简单的 C 控制台应用程序 没有类和对象 有没有任何方法或功能可以防止单击红色 X 按钮时控制台关闭 我正在使用 Visual Studio C Express 2010 一个简单的控制台应用程序 仅包含 main cpp 文
  • 保存 matplotlib 动画时遇到问题[重复]

    这个问题在这里已经有答案了 我正在使用 matplotlib 制作动画热图 我的数据在一个文本文件 rs h 中 有 3 列 x y z 我使用散点图制作一个简单的热图 然后使用动画包随着时间的推移更新热图 import pandas as
  • 如何使用 powershell 删除 SSL 绑定

    I use Remove WebBinding Port Port Protocol https删除 Web 绑定 这将从关联站点中删除绑定 但绑定仍然存在 我可以在下面找到一个条目IIS SslBindings但未分配给任何站点 如果我尝
  • Wcf 类公共属性与 get;set 属性

    当我创建一个 wcf 类时 我经常这样做 DataContract Public class Customer DataMember public string Name get set 有人告诉我这样做更好 DataContract Pu
  • 如何在 Java Response 对象中返回 JsonArray

    我正在尝试实现基于 java 的 web 服务服务器 它返回 Json 和基于 java 脚本的 web 服务客户端 这是我的java部分 Path myapp Consumes MediaType APPLICATION JSON Pro
  • 在微服务中使用 json Web 令牌进行会话管理

    我试图弄清楚如何在微服务架构中使用 json Web 令牌来管理会话 看看这个设计article http nordicapis com how to control user identity within microservices 我
  • C++ 流如何为输入分配空间?

    例如 is type std istream str type std string is gt gt str 这是怎么长出来的str适应输入 它逐个字符地读取并调用str push back 或类似的东西 或者它是否有一种机制可以在读取输
  • 作为 Xcode 构建过程的一部分,如何运行上传符号来上传 dSYM?

    好的 所以我正在尝试自动上传 dSYM 我正在遵循此官方文档中的说明 https firebase google com docs crashlytics get deobfuscated reports https firebase go
  • 左右声道与麦克风录音分离

    我试图从麦克风录制并将录制的数据仅发送到左通道 右通道上有零 但我的技术似乎不起作用 我正在使用 PCM 16 和单声道模式的录音和音轨 我似乎做错了什么 package com example leftrighttest import a
  • 色彩图的非线性缩放以增强对比度

    以下 python 代码创建包含正态分布值的矩阵热图 import numpy as np from matplotlib import pylab as plt np random seed 123 make sure we all ha
  • 如何迁移到WKWebView?

    我试图了解如何使用 iOS8 中新的 WKWebView 但找不到太多信息 我读了 http developer telerik com featured why ios 8s wkwebview is a big deal for hyb
  • 学习 Objective-C 的好资源 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Maven 获取特定类

    有没有一种方法可以让 maven 在将依赖项导入 uber jar shade 时仅包含特定的 class 文件 我正在寻找一种方法来将名称中包含 Client 的文件从依赖项 jar 中提取出来并添加到最终的 jar 中 任何帮助都会很棒
  • Python 中的字母数字排序和负数

    我有一个相当简单的列表 一个数字后跟一个句子 这里按正确的顺序 347 a negative number 100 another negative number 25 and again a negative number 17 some
  • ArrayCollection 删除排序

    对我的数据提供程序 数组集合 应用数字排序后 我无法通过平铺列表对项目重新排序 我是否需要从 arrayCollection txt 中删除排序 如果是这样 这只是设置 collection sort null 的情况吗 var sortF
  • 为什么用户控件加载事件没有被触发

    我有一个用户控件 我有时再次遇到这种情况 但总是可以通过使用 New 构造函数 但我仍然想知道我做错了什么 因为如果加载了控件 则必须触发 load 事件 这是一些代码
  • 签名 url 中存在 MalformedSecurityHeader 错误 - 标头包含在签名标头中,但未包含在请求中

    我正在尝试使用签名 URL 使用 React 和 Node js 通过 Google 应用程序引擎上传文件 我能够生成签名 URL 但在控制台中收到 CORS 错误时 当我在浏览器中打开签名 URL 时 收到以下错误
  • 错误 LNK1120:1 未解析的外部 - VS13 C [重复]

    这个问题在这里已经有答案了 我尝试编译这段代码 include