Answer a question

I'm trying to make a GUI-Project with wxWidgets. Instead of using Visual Studio I want to use VSCode with the GCC (MinGW).
I'm facing the following problem: I can't compile or run any code which has wxWidgets librarys included. How have the c_cpp_properties.json and the tasks.json files to be configured?

I already went through the instructions for installing wxWidgets using "Cygwin/MinGW Compilation" part "Using plain makefiles:". (https://docs.wxwidgets.org/3.1.2/plat_msw_install.html)
1. cd .../wxWidgets-3.1.2\build\msw
2. mingw32-make -f makefile.gcc (for generating Build=debug per default)

And added following to my files:
tasks.json:

    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g", "cApp.cpp", 
                "-I", "D:/Programme/wxWidgets-3.1.2/include/msvc", 
                "-I", "D:/Programme/wxWidgets-3.1.2/include", 
                "-L", "${WXWIN}/lib/vc_lib"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

c_cpp_properties.json:

    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${WXWIN}/include/msvc",
                "${WXWIN}/include"
            ],
            "browse": { "limitSymbolsToIncludedHeaders": true,
                "path": [
                    "${WXWIN}/include/msvc",
                    "${WXWIN}/include"
                ]
            },
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "__WXMSW__",
                "NDEBUG",
                "WXUSINGDLL"
            ],
            "compilerPath": "E:/Programme/MinGW/bin/g++.exe",
            "compilerArgs": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-I", "${WXWIN}/include/msvc",
                "-I", "${WXWIN}/include",
                "-L", "${WXWIN}/gcc_lib",
                "-L", "${WXWIN}/gcc_lib/mswud"
            ]
        }
    ],
    "version": 4
} 

I got the following error from my own code while compiling, which uses #include "wx/wx.h":

                 from ${WXWIN}/include/wx/defs.h:45,
                 from ${WXWIN}/include/wx/wx.h:14,
                 from ${Project}\VSC-Basic-ProjectSetup\src\cMain.h:1,
                 from ${Project}\VSC-Basic-ProjectSetup\src\cMain.cpp:1:
${WXWIN}/include/msvc/wx/setup.h:12:6: error: #error "This file should only be included when 
     #error "This file should only be included when using Microsoft Visual C++"
      ^~~~~
...
...
...
In file included from ${WXWIN}/include/wx/platform.h:148:0,
                 from ${WXWIN}/include/wx/defs.h:45,
                 from ${WXWIN}/include/wx/wx.h:14,
                 from ${Project}\VSC-Basic-ProjectSetup\src\cMain.h:1,
                 from ${Project}\VSC-Basic-ProjectSetup\src\cMain.cpp:1:
${WXWIN}/include/msvc/wx/setup.h:125:27: fatal error: ../../../lib/vc_lib /msw /wx/setup.h: N
 #include wxSETUPH_PATH_STR
                           ^
compilation terminated.
The terminal process terminated with exit code: 1

${WXWIN}, ${Project} are just placeholders.

Answers

I know it's little bit too late but here is "Hello World" project for VSCode. You can observe all required includes and libraries to successfully compile & link your project in VSCode. All 3 major OS's are included in project. https://github.com/huckor/wxwidgets-vscode

Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐