Community
    • Login

    How to compile notepad++ with mingw or clang?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    14 Posts 3 Posters 11.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Vik PovvV
      Vik Povv
      last edited by

      I have source code of notepad++ downloaded, I have Code::Blocks and MinGW installed, but I have no idea how to use one on another. I tried to install visual studio 2015 too, but for some reason it didn’t installed here. OS is windows 7.

      1 Reply Last reply Reply Quote 0
      • Vik PovvV
        Vik Povv
        last edited by

        I probably should start from trying to compile the content of scintilla folder into a working dll. Really not sure if I’ll manage to do it successfully.

        1 Reply Last reply Reply Quote 0
        • Vik PovvV
          Vik Povv
          last edited by

          I’m in shintilla folder, reading README file. What I should compile here, Scintilla or SciTE? Which of those are used in notepad++?

          I see gtk folder in here, but doesn’t notepad++ uses winapi only? Can I delete gtk folder safely?

          1 Reply Last reply Reply Quote 0
          • Vik PovvV
            Vik Povv
            last edited by Vik Povv

            Um, I tried to type mingw32-make inside scintilla\win32 folder.

            It executed g++ -DNDEBUG -Os --std=c++0x -Wall -pedantic -I …/include -I …/src -I…/lexlib -fno-rtti -DDISABLE_D2D -c ScintillaWin.cxx

            And I got messagebox error with title “as.exe” and message “Entry point in procedure printf (underscoreunderscoreprintfunderscoreunderscore) not found in library DLL libintl-8.dll”.

            Why?

            Thank you for making me wait 20 minutes before I could send this.

            1 Reply Last reply Reply Quote 0
            • Vik PovvV
              Vik Povv
              last edited by

              Left shintilla folder, went into PowerEditor/gcc folder, run mingw32-make

              Errors.

              Here is the output:

              notepad-plus-plus-6.9.1\PowerEditor\gcc>mingw32-make
              g++ -include./include/various.h -DTIXML_USE_STL -DTIXMLA_USE_STL -DUNICODE -D_UNICODE -std=c++14 -fpermissive -I…/src -I…/src/WinControls -I…/src/WinControls/AboutDlg -I…/src/WinControls/AnsiCharPanel -I…/src/WinControls/ClipboardHistory -I…/src/WinControls/ContextMenu -I…/src/WinControls/ColourPicker -I…/src/WinControls/DockingWnd -I…/src/WinControls/DocumentMap -I…/src/WinControls/FindCharsInRange -I…/src/WinControls/FunctionList -I…/src/WinControls/Grid -I…/src/WinControls/ImageListSet -I…/src/WinControls/OpenSaveFileDialog -I…/src/WinControls/Preference -I…/src/WinControls/ProjectPanel -I…/src/WinControls/shortcut -I…/src/WinControls/SplitterContainer -I…/src/WinControls/StaticDialog -I…/src/WinControls/StaticDialog/RunDlg -I…/src/WinControls/StatusBar -I…/src/WinControls/TabBar -I…/src/WinControls/TaskList -I…/src/WinControls/ToolBar -I…/src/WinControls/ToolTip -I…/src/WinControls/TrayIcon -I…/src/WinControls/VerticalFileSwitcher -I…/src/WinControls/WindowsDlg -I…/src/uchardet -I…/src/TinyXml -I…/src/TinyXml/tinyXmlA -I…/src/ScitillaComponent -I…/src/MISC -I…/src/MISC/Common -I…/src/MISC/Exception -I…/src/MISC/PluginsManager -I…/src/MISC/Process -I…/src/MISC/RegExt -I…/…/scintilla/include -I./include -MMD -c …/src/Utf8_16.cpp -o …/src/Utf8_16.o
              In file included from …/src/TinyXml/tinyXmlA/tinyxmlA.h:63:0,
              from …/src/Parameters.h:30,
              from …/src/Utf8_16.h:27,
              from …/src/Utf8_16.cpp:19:
              …/src/MISC/Common/Common.h:179:46: error: ‘_locale_t’ has not been declared
              double stodLocale(const generic_string& str, _locale_t loc, size_t* idx = NULL);
              ^
              In file included from …/src/Parameters.h:46:0,
              from …/src/Utf8_16.h:27,
              from …/src/Utf8_16.cpp:19:
              …/src/WinControls/ToolBar/ToolBar.h: In member function ‘void ToolBar::setDefaultImageList()’:
              …/src/WinControls/ToolBar/ToolBar.h:135:25: error: ‘TB_SETIMAGELIST’ was not declared in this scope
              ::SendMessage(_hSelf, TB_SETIMAGELIST , (WPARAM)0, (LPARAM)_toolBarIcons.getDefaultLst());
              ^
              …/src/WinControls/ToolBar/ToolBar.h: In member function ‘void ToolBar::setHotImageList()’:
              …/src/WinControls/ToolBar/ToolBar.h:138:25: error: ‘TB_SETHOTIMAGELIST’ was not declared in this scope
              ::SendMessage(_hSelf, TB_SETHOTIMAGELIST , (WPARAM)0, (LPARAM)_toolBarIcons.getHotLst());
              ^
              …/src/WinControls/ToolBar/ToolBar.h: In member function ‘void ToolBar::setDisableImageList()’:
              …/src/WinControls/ToolBar/ToolBar.h:141:25: error: ‘TB_SETDISABLEDIMAGELIST’ was not declared in this scope
              ::SendMessage(_hSelf, TB_SETDISABLEDIMAGELIST, (WPARAM)0, (LPARAM)_toolBarIcons.getDisableLst());
              ^
              …/src/Utf8_16.cpp: In member function ‘void Utf8_16_Read::determineEncoding()’:
              …/src/Utf8_16.cpp:208:57: warning: NULL used in arithmetic [-Wpointer-arith]
              else if (m_nLen > 1 && m_nLen % 2 == 0 && m_pBuf[0] != NULL && m_pBuf[1] == NULL && IsTextUnicode(m_pBuf, m_nLen, &uniTest))
              ^
              …/src/Utf8_16.cpp:208:78: warning: NULL used in arithmetic [-Wpointer-arith]
              else if (m_nLen > 1 && m_nLen % 2 == 0 && m_pBuf[0] != NULL && m_pBuf[1] == NULL && IsTextUnicode(m_pBuf, m_nLen, &uniTest))
              ^
              makefile:254: recipe for target ‘…/src/Utf8_16.o’ failed
              mingw32-make: *** […/src/Utf8_16.o] Error 1

              1 Reply Last reply Reply Quote 0
              • Vik PovvV
                Vik Povv
                last edited by

                I have a request. Can somebody who successfully compiled notepad++ 6.9.1 with something other than visual studio also upload all object files? It will help me, because then I can figure out each error separately, without trying to recompile all at once.

                Would be nice if you could also upload your compiler too. It shouldn’t be too heavy.

                My errors are probably because I’m using 32bit mingw instead of 64bit one.

                1 Reply Last reply Reply Quote 0
                • Vik PovvV
                  Vik Povv
                  last edited by

                  Anybody?

                  1 Reply Last reply Reply Quote 0
                  • Vik PovvV
                    Vik Povv
                    last edited by

                    Inside PowerEditor/gcc/readme.txt i found this:

                    It was tested with a MinGW-w64 distribution containing
                    GCC 5.2.0 (cross-compiled with i686-w64-mingw32 on Arch Linux) and
                    GCC 4.9.2 (natively on Windows 7, will not work anymore with this version).

                    Don’t really understood what this means. This means I shouldn’t use GCC 4.9.2? “I wouldn’t ever test with this version anymore”, or “This compiler failed to compile on this version”?

                    shintilla and PowerEditor use different compilers? shintilla mentioned TDM Mingw32 4.7.1, what is the difference between Mingw and TDM Mingw?

                    1 Reply Last reply Reply Quote 0
                    • Vik PovvV
                      Vik Povv
                      last edited by

                      Anybody? There is no way I’ll figure this out by myself.

                      1 Reply Last reply Reply Quote 0
                      • dailD
                        dail
                        last edited by

                        Visual Studios is the only officially supported compiler for N++. I’m not sure how many people actually use GCC/MinGW. I know the makefiles/etc were updated recently but not sure what all that added. I guess you’ll just have to wait to see if someone else has used MinGW successfully or contact the author of those commits.

                        1 Reply Last reply Reply Quote 0
                        • Vik PovvV
                          Vik Povv
                          last edited by

                          Huh, I opened https://github.com/notepad-plus-plus/notepad-plus-plus/commits/master/PowerEditor/gcc , and it really changed only twice in all this time…

                          How can I contact this person https://github.com/marcows ? I registered on github, but I don’t see how I can send messages there.

                          1 Reply Last reply Reply Quote 0
                          • dailD
                            dail
                            last edited by

                            and it really changed only twice in all this time

                            Like I said, it’s not officially supported. The only need I know for it is so some people can try to compile it and get it running under Wine in Linux.

                            How can I contact this person

                            Github doesn’t have direct messaging. Probably your best bet is to post a reply to that Pull Request that added these updates

                            1 Reply Last reply Reply Quote 0
                            • Vik PovvV
                              Vik Povv
                              last edited by

                              Posted here
                              https://github.com/notepad-plus-plus/notepad-plus-plus/pull/1229
                              and here
                              https://github.com/notepad-plus-plus/notepad-plus-plus/issues/385
                              . Let’s refresh three threads from now on.

                              1 Reply Last reply Reply Quote 0
                              • gong feiG
                                gong fei
                                last edited by

                                I’m also interested in this, compiling notepad with GCC
                                VS is too big and its installation is painful.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                The Community of users of the Notepad++ text editor.
                                Powered by NodeBB | Contributors