CodeLite for 32-bit Windows

Discussion about CodeLite development process and patches
Kinryk
CodeLite Curious
Posts: 3
Joined: Wed Jun 05, 2019 8:40 am
Genuine User: Yes
IDE Question: C++
Contact:

CodeLite for 32-bit Windows

Post by Kinryk »

Hello. Several days ago a new version of CodeLite (13.0) was released. Unfortunately on the official website and on GitHub there are only 64-bit versions to download. If it isn't a big problem for you, could you provide also a 32-bit version for Windows, like in the previous release?
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by eranif »

I don't have access to Windows 32 bit, so I can't build one
Make sure you have read the HOW TO POST thread
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by eranif »

FYI: you can install the latest CodeLite (v13) as Chocolatey package
See here:
https://chocolatey.org/packages/codelite
Make sure you have read the HOW TO POST thread
Kinryk
CodeLite Curious
Posts: 3
Joined: Wed Jun 05, 2019 8:40 am
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by Kinryk »

Thank you for your help. I'll try the solution with Chocolatey.
Kinryk
CodeLite Curious
Posts: 3
Joined: Wed Jun 05, 2019 8:40 am
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by Kinryk »

I tried to install the CodeLite 13.0 via Cocolatey, but I got the following message: "ERROR: 32-bit installation is not supported for codelite". So either I'm doing something wrong or they also don't have package with 32-bit CodeLite 13.0.
Wheel
CodeLite Curious
Posts: 5
Joined: Mon Jul 15, 2019 6:46 am
Genuine User: Yes
IDE Question: c++
Contact:

Re: CodeLite for 32-bit Windows

Post by Wheel »

I've tried to compile CodeLite v13.0 with gcc 7.3 (32bit) run from CodeLite v12.
The wxWidgets stuff builds ok, but CodeLite stops with some errors :(

Code: Select all

In file included from F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:26:0:
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.h:49:10: error: 'thread' in namespace 'std' does not name a type
     std::thread* m_compileCommandsThread = nullptr;
          ^~~~~~
C:/dev/mingw730/bin/g++.exe -include ..\PCH\precompiled_header_release.h  -c  "F:/CL/codelite-13.0/LiteEditor/singleinstancethreadjob.cpp" -O2  -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -If:/cl/wxWidgets/lib/gcc_dll/mswu -If:/cl/wxWidgets/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11  -Winvalid-pch -DWXUSINGDLL_SDK -DWXUSINGDLL_CL -DWXUSINGDLL_SCI -DHAS_LIBCLANG=1 -DHAS_LIBCLANG_BRIEFCOMMENTS=1  -o ./Release/singleinstancethreadjob.cpp.o -I. -I. -I../CodeLite -I../sdk/wxsqlite3/include -I../sdk/wxscintilla/include -I../Plugin -I../Interfaces -I../PCH -I../sdk/clang/include
In file included from ../CodeLite/SocketAPI/clSocketBase.h:40:0,
                 from ../CodeLite/SocketAPI/clSocketServer.h:29,
                 from F:/CL/codelite-13.0/LiteEditor/singleinstancethreadjob.h:32,
                 from F:/CL/codelite-13.0/LiteEditor/singleinstancethreadjob.cpp:27:
C:/dev/mingw730/i686-w64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
 #warning Please include winsock2.h before windows.h
  ^~~~~~~
C:/dev/mingw730/bin/g++.exe -include ..\PCH\precompiled_header_release.h  -c  "F:/CL/codelite-13.0/LiteEditor/filedroptarget.cpp" -O2  -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -If:/cl/wxWidgets/lib/gcc_dll/mswu -If:/cl/wxWidgets/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11  -Winvalid-pch -DWXUSINGDLL_SDK -DWXUSINGDLL_CL -DWXUSINGDLL_SCI -DHAS_LIBCLANG=1 -DHAS_LIBCLANG_BRIEFCOMMENTS=1  -o ./Release/filedroptarget.cpp.o -I. -I. -I../CodeLite -I../sdk/wxsqlite3/include -I../sdk/wxscintilla/include -I../Plugin -I../Interfaces -I../PCH -I../sdk/clang/include
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp: In destructor 'virtual CodeCompletionManager::~CodeCompletionManager()':
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:156:8: error: 'm_compileCommandsThread' was not declared in this scope
     if(m_compileCommandsThread) {
        ^~~~~~~~~~~~~~~~~~~~~~~
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:156:8: note: suggested alternative: 'm_compileCommands'
     if(m_compileCommandsThread) {
        ^~~~~~~~~~~~~~~~~~~~~~~
        m_compileCommands
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp: In member function 'void CodeCompletionManager::DoProcessCompileCommands()':
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:543:8: error: 'm_compileCommandsThread' was not declared in this scope
     if(m_compileCommandsThread) { return; }
        ^~~~~~~~~~~~~~~~~~~~~~~
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:543:8: note: suggested alternative: 'm_compileCommands'
     if(m_compileCommandsThread) { return; }
        ^~~~~~~~~~~~~~~~~~~~~~~
        m_compileCommands
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:546:5: error: 'm_compileCommandsThread' was not declared in this scope
     m_compileCommandsThread = new std::thread(&CodeCompletionManager::ThreadProcessCompileCommandsEntry, this,
     ^~~~~~~~~~~~~~~~~~~~~~~
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:546:5: note: suggested alternative: 'm_compileCommands'
     m_compileCommandsThread = new std::thread(&CodeCompletionManager::ThreadProcessCompileCommandsEntry, this,
     ^~~~~~~~~~~~~~~~~~~~~~~
     m_compileCommands
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:546:35: error: expected type-specifier
     m_compileCommandsThread = new std::thread(&CodeCompletionManager::ThreadProcessCompileCommandsEntry, this,
                                   ^~~
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp: In member function 'void CodeCompletionManager::CompileCommandsFileProcessed(const wxArrayString&)':
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:560:8: error: 'm_compileCommandsThread' was not declared in this scope
     if(m_compileCommandsThread) {
        ^~~~~~~~~~~~~~~~~~~~~~~
F:/CL/codelite-13.0/LiteEditor/code_completion_manager.cpp:560:8: note: suggested alternative: 'm_compileCommands'
     if(m_compileCommandsThread) {
        ^~~~~~~~~~~~~~~~~~~~~~~
        m_compileCommands
C:/dev/mingw730/bin/g++.exe -include ..\PCH\precompiled_header_release.h  -c  "F:/CL/codelite-13.0/LiteEditor/cpp_symbol_tree.cpp" -O2  -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -If:/cl/wxWidgets/lib/gcc_dll/mswu -If:/cl/wxWidgets/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11  -Winvalid-pch -DWXUSINGDLL_SDK -DWXUSINGDLL_CL -DWXUSINGDLL_SCI -DHAS_LIBCLANG=1 -DHAS_LIBCLANG_BRIEFCOMMENTS=1  -o ./Release/cpp_symbol_tree.cpp.o -I. -I. -I../CodeLite -I../sdk/wxsqlite3/include -I../sdk/wxscintilla/include -I../Plugin -I../Interfaces -I../PCH -I../sdk/clang/include
mingw32-make.exe: *** [CodeLiteIDE.mk:1208: Release/code_completion_manager.cpp.o] Error 1
mingw32-make.exe: *** Waiting for unfinished jobs....
====6 errors, 12 warnings, total time: 00:07:51 seconds====
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by eranif »

Try adding

Code: Select all

#include <thread>
at the top of this file and see if it helps
Make sure you have read the HOW TO POST thread
Wheel
CodeLite Curious
Posts: 5
Joined: Mon Jul 15, 2019 6:46 am
Genuine User: Yes
IDE Question: c++
Contact:

Re: CodeLite for 32-bit Windows

Post by Wheel »

Thanks for the reply. It was a problem with the mingw version I was using.
Now I can build most of it, but the IDE project requires to link some "clang" lib that I can't find anywhere.
Also, is any of the plugins mandatory? Or if I don't use any of them, I can skip them all?
Wheel
CodeLite Curious
Posts: 5
Joined: Mon Jul 15, 2019 6:46 am
Genuine User: Yes
IDE Question: c++
Contact:

Re: CodeLite for 32-bit Windows

Post by Wheel »

So, I've managed to build it.
I'm using:
  • Windows 7 32bit
  • mingw with gcc 7.3 32bit posix-dwarf (the SEH version mentioned in the wiki doesn't appear to be available for mingw 32bit)
  • wxWidgets 3.1.2
  • the CodeLite source v13.0 (not the latest repo)
  • CodeLite v12 as the ide for building
I've built the wxWidgets lib (release version) like mentioned in the wiki.

To build CodeLite I've had to tweak a few things:
  • in the file \CodeLite\MSWPrivate.h I've removed the 2 defines of fileno and strdup
  • I've added the WXWIN env var for all projects.
  • in the CodeLiteIDE project options I've removed the libclang.dll
  • in the libCodeLite options I've added these 2 paths: ../sdk/websocketpp and ../sdk/asio-1.12.1, plus the ws2_32 lib to link
  • in the plugin_sdk options I've added the libuxtheme.a lib
For the plugins (I've not built all of them) and the utils, of notice:
  • Tweaks has a bug in OnFileViewBuildTree(). The GetTree() func doesn't exist.
  • when DebuggerGDB completes, the dll is copied to \Runtime\debuggers, but the problem is that the debuggers subdir doesn't exist, so the dll gets copied as a file called debuggers
  • the codelite_cppcheck util requires an additional \externals\simplecpp include path
During the build phase the compiler gave a few warnings here and there, but nothing dangerous for what I've noticed.
I've yet to run the thing, but thank you for keeping the source buildable for 32bit systems. Some hobbyist coders like me still use them :)
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite for 32-bit Windows

Post by eranif »

Which configuration did you try to build?, I thought I removed it from the build configuration...make sure to are using win_64_release configure ton (the name does not imply which build is created, this is determined by the actual compiler used for the build)
Lib clang is not needed any more as it was replaced by the language server plugin.
You can try and remove it from the project settings
Make sure you have read the HOW TO POST thread
Post Reply