Replies: 20 comments 22 replies
-
Yes, Textadept depends on the cross-platfrom GTK GUI toolkit. I don't know hardly anything about CMake. Building for Windows is currently only supported using Docker, as mentioned in the README.
|
Beta Was this translation helpful? Give feedback.
-
I need to explain my interest i am pursuing to build on Windows with MSVC++. |
Beta Was this translation helpful? Give feedback.
-
Run-time dependencies is different from build-time dependencies. Textadept has no run-time dependencies on Windows. You can run the application you downloaded without having to install anything else. This is what is meant by "external dependencies". In order to build the application, you will need things. When building with Docker, `make deps` takes care of fetching those things.
|
Beta Was this translation helpful? Give feedback.
-
Try this: https://github.com/orbitalquark/textadept-build/blob/default/win32gtk-2.24.32.zip. That link you posted is a run-time only (just contains dlls and such; no source files for compiling against).
|
Beta Was this translation helpful? Give feedback.
-
Sorry, I don't understand the question. The textadept-build repository is relatively new since Textadept only recently moved to GitHub.
|
Beta Was this translation helpful? Give feedback.
-
What version of Visual Studio are you using? It looks like the C compiler does not support variable length arrays. Microsoft has always been lagging behind on supporting C standards, while MinGW has been fine.
|
Beta Was this translation helpful? Give feedback.
-
That "C Language Standard: Default (Legacy MSVC)" setting looks problematic. If you could change it to something more modern, that would help. Otherwise, you'll have to modify gtdialog to malloc and free based on nrows.
|
Beta Was this translation helpful? Give feedback.
-
I like MingW, i have it installed, i guess i can compile many things there, Many of developers people have a good opinion abt VS C++ dev features.. Ability to use VS will save a huge amount of time to me, |
Beta Was this translation helpful? Give feedback.
-
That looks fine. Ideally that memory would also be freed in the end in order to avoid memory leaks. However, if you're not using multi-line input dialogs, then you don't have to worry about it.
|
Beta Was this translation helpful? Give feedback.
-
It looks like your linker flags are not set properly (e.g. "-L/path/to/libiconv -liconv"). Normally pkg-config provides those flags. I don't know how you set up your include flags, but you'll have to do something similar for your linker flags and point them to the dlls in the *win32gtk/bin/* directory.
|
Beta Was this translation helpful? Give feedback.
-
On Thu, 18 Feb 2021 15:05:55 -0800 Xer0X ***@***.***> wrote:
And this time i really have no idea.
`iconv` problems was solved by adding manually `iconv.lib`,
which happened to be in here: `F:\GTK\GTK2-Runtime\lib`
and there is a good plenty of other .lib's.
And now i wander which exactly .LIB,
i need to choose and provide to linker there?
here is all the stuff:
`art_lgpl_2.lib, asprintf.lib, atk-1.0.lib, bz2.lib, cairo.lib, charset.lib, croco-0.6.lib, expat.lib, fontconfig.lib, freetype.lib, gailutil.lib, gdk-win32-2.0.lib, gdk_pixbuf-2.0.lib, gdkglext-win32-1.0.lib, gio-2.0.lib, glade-2.0.lib, gladeui-1.lib, glib-2.0.lib, gmodule-2.0.lib, gobject-2.0.lib, gsf-1.lib, gsf-win32-1.lib, gthread-2.0.lib, gtk-win32-2.0.lib, gtkglext-win32-1.0.lib, iconv.lib, intl.lib, jpeg.lib, libpng.lib, pango-1.0.lib, pangocairo-1.0.lib, pangoft2-1.0.lib, pangowin32-1.0.lib, png.lib, popt.lib, rsvg-2.lib, tiff.lib, xml2.lib, z.lib, zdll.lib`
Why not try manually adding all those libs too?
|
Beta Was this translation helpful? Give feedback.
-
Oh, sorry, I misunderstood. I honestly do not know why these errors are still occurring. There isn't a GtkWidget.lib because the GTK widgets should all be in gtk-win32-2.0.lib. This is why compiling on Windows has been unsupported -- I don't know much of anything when it comes to building on the platform :(
|
Beta Was this translation helpful? Give feedback.
-
That's weird. `g_module_close` should be in libgmodule-2.0.dll, which it looks like you've linked. I don't know why it's looking in the libgdk-win32 DLL.
|
Beta Was this translation helpful? Give feedback.
-
That sounds like quite the adventure, and probably the reason why I only ever bothered cross-compiling from Linux.
I don't know any C/C++ programming forums, sorry.
|
Beta Was this translation helpful? Give feedback.
-
Fortunately the only part of Textadept that is C++ is Scintilla and its lexers. I try and avoid that area of the code as much as I can. I've learned more C++ over the years, but I'm still pretty uncomfortable with it. I mostly learn by trial and error and using existing examples. For example, reading Scintilla's makefile helped me build Scintilla into Textadept, and reading Scintilla's C++ lexers helped me build the Scintillua lexer.
|
Beta Was this translation helpful? Give feedback.
-
Is flag /SAFESEH required for correct build? |
Beta Was this translation helpful? Give feedback.
-
Sorry, I don't know the answer to that. You'll have to experiment.
|
Beta Was this translation helpful? Give feedback.
-
Well, right now it looks a little bit better :) |
Beta Was this translation helpful? Give feedback.
-
I cant resist to demonstrate the exact meaning and purpose, having proper IDE: |
Beta Was this translation helpful? Give feedback.
-
Yay! Well done :)
|
Beta Was this translation helpful? Give feedback.
-
As we all know, there is no "out of the box" .vcporj for MSVC++ Studio.
That is a rather sad thing.
Thinking about it, i come upon this aged TextAdept fork, with CMake!
https://github.com/textmagus/textmagus
https://github.com/textmagus/textmagus-3rdparty-textadept
it was not dedicated to VC++, but there is a "CMakeLists.txt"
So, i tried to run cmake, and it worked. Partially.
It compiled indeed, created succesfully:
But textadept.vcxproj itself were not created..
cmake said about GTK not found:
But, does windows building need GTK ??
From my understandig, do not need (?), just CMakeList.txt is wrong about it.
this CMakeLists.txt can be probably fixed?
here is the link to CMakeList.txt:
https://github.com/textmagus/textmagus/blob/master/CMakeLists.txt
the TextAdept CMake project repository:
https://github.com/textmagus/textmagus
Can it be helped?
I am not very good at fixing cmakelists files..
P.S.
I need to explain my interest i am pursuing to build on Windows with MSVC++.
I know "TextAdept Windows builts is not supported",
and i do not know much about building for windows in docker either
Because, currently MSVC++ it is the only build tool i know,
and can be used for debugging.
And i intended to play with TextAdept developing in C++.
CMake, given proper CMakeList config file,
takes care of converting code to .vcproj (MSVC++ project),
and this allows building and debugging in MSVC++
Beta Was this translation helpful? Give feedback.
All reactions