首页 > 解决方案 > 将 wxWidgets 与 CMAKE 和 Visual Studio 一起使用

问题描述

每次我尝试使用将 wxWidgets 作为库的 CMAKE 构建我的项目时,我都会收到很多链接器错误 LNK 我什至只编译我的 main.cpp 就遇到了两个错误,其中仅包含以下内容:

#include "wx/wx.h"
int main(){
    return 0;
}

我刚刚下载了 wxwidgets 的源代码,将它放在一个 lib 文件夹中并与 cmake 链接这是我的 CMakeLists.txt :

cmake_minimum_required(VERSION 3.10)

# set the project name
project(wxtest VERSION 1.0)

add_subdirectory(libs/wxWidgets)
add_executable(wx_test WIN32 src/main.cpp)
target_link_libraries(wx_test wx::net wx::core wx::base)

以下是错误: Error LNK1120 1 unresolved externals
Error LNK2019 unresolved external symbol WinMain referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)

将 wxWidgets 库链接到我的项目有什么问题吗?

标签: c++visual-studiocmakecompiler-errorswxwidgets

解决方案


wxWidgets 程序被编译为 GUI Win32 应用程序,因此WinMain()默认使用入口点,您没有定义。

定义它的常用方法是使用wxIMPLEMENT_APP()宏,但如果您确实需要,您也可以手动进行 - 但您必须以一种或另一种方式定义它。


推荐阅读