我知道我昨天已经问过了,但这个线程中建议的解决方案是:
错误LNK1120:1未解析的外部-VS13 C
不起作用:/
我得到这个错误:
CMakeFilestestproject.dir/objects.a(main.cpp.obj): In function
`Win32xx::LoadCommonControls()':
PATH/lib/Win32xx891/include/wxx_wincore.h:2844: undefined reference to
`__imp_InitCommonControls'
PATH/lib/Win32xx891/include/wxx_wincore.h:2849: undefined reference to
`__imp_InitCommonControls'
同时尝试运行win32++库中的示例代码。我已经尝试添加
#pragma comment(lib, "comctl32.lib")
正如我提到的线程中所建议的那样,到我的头上,但这没有起作用。他们还说,你可以通过链接comctl32库来解决这个问题,该库似乎没有加载,并导致了这个问题,通过在我的程序参数中添加-L-lcomctl32(我认为这就是方法,如果我错了,请纠正我(。这也于事无补。如果你知道问题出在哪里,请帮帮我。
编辑:
步骤:
- 创建项目(c++14(
- 下载win32++库文件
- 用cmake添加它们(我调用include_directories((,够了吗?(
- https://pastebin.com/w59ibVEZ
- 用"-lcomctl32";作为程序参数
- 撕裂
#pragma comment(lib, "comctl32.lib")
用于MSVC,它在MinGW(或GCC(中不起任何作用。
符号InitCommonControls
是在MinGW附带的libcomctl32.a
中定义的,因此您只需要使用链接器标志-lcomctl32
进行链接。
确保告诉CMake它是链接器标志,而不是编译器标志。