Author Topic: C::B wxWidgets project can't find file/directory on Build+Play  (Read 3527 times)

gloosemore

  • Guest
Hello.

I'm pretty new to C::B and just installed it along with building wxWidgets. I'm pretty sure my wxWidgets build with MinGW is good, i was able to successfully create a wxWidgets project in C::B using the "minimal.cpp" sample in wxWidgets. However now instead of creating an empty project, I'm using leaving "Empty project" unchecked in wizard to create the program. With wxWidgets this creates 2 source files and 2 header files (for app and main). When I try to build+play the project though without making any changes i get this error:


-------------- Build: Debug in MULLSIMPLE (compiler: GNU GCC Compiler)---------------

g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -D__WXDEBUG__ -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswud" -c "C:\Users\gmloo\OneDrive\Desktop\C++ Projects\MULLSIMPLE\wx_pch.h" -o wx_pch.h.gch\Debug_wx_pch_h_gch
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -D__WXDEBUG__ -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswud" -c "C:\Users\gmloo\OneDrive\Desktop\C++ Projects\MULLSIMPLE\MULLSIMPLEApp.cpp" -o obj\Debug\MULLSIMPLEApp.o
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -g -D__WXDEBUG__ -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswud" -c "C:\Users\gmloo\OneDrive\Desktop\C++ Projects\MULLSIMPLE\MULLSIMPLEMain.cpp" -o obj\Debug\MULLSIMPLEMain.o
windres.exe -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswud"  -J rc -O coff -i C:\Users\gmloo\OneDrive\Desktop\C__PRO~1\MULLSI~1\resource.rc -o obj\Debug\resource.res
g++.exe -L"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll" -o bin\Debug\MULLSIMPLE.exe obj\Debug\MULLSIMPLEApp.o obj\Debug\MULLSIMPLEMain.o  obj\Debug\resource.res -mthreads  -lwxmsw30ud_core -lwxbase30ud -lwxpngd -lwxzlibd -mwindows
gcc: error: Files\wxWidgets-3.0.5\include: No such file or directory
gcc: error: Files\wxWidgets-3.0.5\lib\gcc_dll\mswud: No such file or directory
windres.exe: preprocessing failed.
Process terminated with status 1 (0 minute(s), 14 second(s))
 
Process terminated with status 0 (0 minute(s), 16 second(s))
3 error(s), 0 warning(s) (0 minute(s), 16 second(s))
 
Saying that it can't find files? the wxWidgets-3.0.5 is actually in c:\Program Files/wxWidgets-3.0.5, so maybe its looking in the wrong place? Or maybe I missed a step setting it up?


This is absolutely everything I did to install C::B, install wxWidgets, and create my project


1. Installing CodeBlocks
   a. Clicked codeblocks-20.03mingw-setup.exe from website, then download started automaticallty from fosshub
   b. Ran executable to install and for type of install did "All plugins, all tools, just everything"
          -all checkboxes were checked, including
                1. Default Install
                2. Contrib Plugins
                3. C::B CBP2Make
                4. C::B Share Config
                5. C::B Launcher
                6. MinGW Compiler Suite


2. Downloading wxWidgets
    a. Clicked "Windows ZIP" from downloads page on website under "Latest Stable Release: 3.0.5"
    b. Extracted download to c:\Program Files\wxWidgets-3.0.5
       -first file asked for administrator permission, i said "dont ask again" and clicked "continue"

3. Added MinGW to path
    a. went into c:\Program Files\CodeBlocks\MinGW\bin and copied that path to PATH environment variables

4. Building wxWidgets
    a. opened a terminal with admin privileges and went to c:\Program Files\wxWidgets-3.0.5\build\msw.
    b. entered commands as suggested at https://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW, except changed
       BUILD=release to BUILD=debug:
        1. mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug clean
        2. mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug
    c. wxWidgets successfully built (3:38 pm to 4:22pm!)

5. Opened CodeBlocks
    a. got message that "After auto-detection, at least one compiler's master path is still empty and therefore invalid.
       Inspect the list below and change the compiler's master path later in the compiler options. Select you favourite
       default compiler here:"
           -There's one compiler listed as detected: GNU GCC Compiler
           -With this compiler highlighted, i clicked "Set as default" and then ok.
    b. got message CodeBlocks is not default app for C/C++ source files.
           -Selected "Yes, associate with C/C++ files"


7. Testing Compiler
    -I wasn't sure what to do about "setting compiler master path..." msg earlier, so I just created a new project with type
    "Console application", compiled the basic "Hello world" application, ran it, ran fine, so I assume compiler is working?

6. Create new wxWidgets program:
    a. Create new project: wxWidgets project
    b. Wizard Steps:
       PAGE 1:
           -Set version: wxWidgets 3.0.x
       PAGE 2:
           -Named project "MULLSIMPLE" and created directory
       PAGE 3:
           -Skipped Author info.
       PAGE 4:
           -Preferred GUI Builder: None
           -Application Type: Frame Based
       PAGE 5:
           -wxWidgets location: C:\Program Files\wxWidgets-3.0.5
           -When I hit next, it opens the global variable editor. I don't know how to use this,
           so i just hit ok without making any changes. IT asked if i want to save an invalid global var,
           i said yes. Now the widgets location in the wizard is a path instead of a global variable,
           I assume this is ok for now
       PAGE 6:
           -By default "Debug" configuration checked, "Release" configuration is unchecked
           -make no changes
       PAGE 7:
           -Under wxWidgets library settings:
               -CHECK Use wxWidgets DLL
               -UNCHECK wxWidgets built as monolithic
               -CHECK enable unicode
           -Under Miscellaneous settings:
               -UNCHECK create empty project
               -CHECK create and use PCH
                   -Leave configuration input field blank
               -UNCHECK Configure Advanced Options
           -On next get dialog re PCH default settings, click YES to accept
       PAGE 8:
           -Didn't select any additional libs to add to project,
           just hit finish


8. Try Build and run
    -Get the build log error at start of post re: missing files

Thanks




« Last Edit: August 11, 2020, 12:01:19 am by gloosemore »

Online stahta01

  • Lives here!
  • ****
  • Posts: 7590
    • My Best Post
Re: C::B wxWidgets project can't find file/directory on Build+Play
« Reply #1 on: August 11, 2020, 03:51:37 am »
You need to have your built wxWidgets in a path without spaces or other special characters.
Or you need to find an Toolchain/Compiler that has an windres.exe that works with spaces.

Me, I would get rid of the spaces! One, it is easier and you might speed days or even months looking for an windres.exe that works with spaces.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org