【问题标题】:Where is the windows api function InitCommonControlsEx() in MinGW librariesMinGW库中的windows api函数InitCommonControlsEx()在哪里
【发布时间】:2012-01-27 15:42:11
【问题描述】:

我将 MinGW 用于 32 位窗口。我使用 windows 通用控件,所以我必须从 windows API 调用 InitCommonControlsEx()。 MinGW 链接器无法找到此函数,即使我明确链接到 Commctrl.lib(或 minGW .a 版本 libcomctl32.a)。

在哪里可以找到 InitCommonControlsEx() 的正确导入库?

【问题讨论】:

  • 您的意思是链接到 Comctl32.lib,而不是 commctrl.lib?
  • MinGW 系统有不同的命名约定,但我试图找出正确的名称是什么。
  • 正确的名字是libcomctl32.a,如果你做objdump -t libcomctl32.a就可以看到。您确定这是链接器错误吗?你有什么版本的MinGW?你用什么命令行来编译和链接?
  • 我在 g++ 命令行上指定了“-Wl-llibcomctl32.a”。如果我在我的机器上输入 libcomctl32.a 的完整路径,它就可以工作(例如,库中的函数符号被解析)。库搜索算法有问题,还是我使用了错误的选项?

标签: c++ windows user-interface mingw


【解决方案1】:

如果你想链接libcomctl32.a,那么你需要省略'lib' & '.a' 然后将其转换为-l

例子:

-lcomctl32 

这仅适用于 gnu gcc 及其衍生产品(Cygwin、Mingw、Clang 等)。 但是在 MSVC 和 C-Builder 上,库名没有被转换,所以你可以直接将 Comctl32.lib 传递给链接器。

【讨论】:

    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 2017-10-26
    • 2016-01-08
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多