Giter Site home page Giter Site logo

Linker errors about scite4autohotkey HOT 2 OPEN

fincs avatar fincs commented on August 16, 2024
Linker errors

from scite4autohotkey.

Comments (2)

fincs avatar fincs commented on August 16, 2024

Hi there!

Official SciTE uses Visual Studio 2019 and nmake on Windows, so I chose to use VS 2022 and nmake.

At the time when working on the last release of S4AHK I did not have VS installed at all, and did not wish to install a big (~10GB) software package on my computer. An interesting thing about msys2/clang64 is that it uses the latest official C runtime library (aka Universal C Runtime) unlike previous gcc based Windows compilers, which used the old msvcrt.dll.

My msys2/clang64 command prompt can't find git (but git is installed). I don't have/want/need Mercurial.

Full disclosure: I don't actually have/want/need Mercurial either. I'm internally using a git-hg bridge to make my life easier, but I decided to give instructions pointing to the official hg repos in order to rely on vanilla upstream as much as possible, and also to simplify future three-way merges when it is time to move to a new SciTE release.

I was unable to apply the diffs using git apply as instructed; Git apply patch fails silently (no errors but nothing happens). I used patch -p1 < whatever.diff instead. This appears to have applied the patch without errors.

The linked StackOverflow thread combined with my previous disclosure might explain why it worked for me locally when testing the instructions, but not for others. Good catch, I will replace it with the patch command, which seems more straightforward anyway.

The linker failed to resolve some symbols:

As you may have guessed, I did not pay attention to the NMake/MSVC path of the buildsystem. I've checked the diff and (other than autogenerated changes) apparently I left a rule for MessagePump.obj; I suspect this was a leftover of an older patch of mine I applied. Given that the changes required to restore buildability with NMake/MSVC seem minimal, I have no objections to fixing this.

I'm leaving this issue open as a self-reminder.

from scite4autohotkey.

Lexikos avatar Lexikos commented on August 16, 2024

As you may have guessed,

Yes, although only after I worked out that nmake and make aren't compatible and there are therefore two sets of makefiles (makefile and *.mak). This was after I opened the issue.

Initially I found the MessagePump.o reference and no MessagePump.obj, so I assumed it was just missing from the patch and wouldn't work in any build. Only later I realized that the former was for make and the latter for nmake.

At the time when working on the last release of S4AHK I did not have VS installed at all, and did not wish to install a big (~10GB) software package

Incidentally, I am not using Visual Studio itself with SciTE. I believe you can just install the Visual Studio Build Tools; I read as much while configuring VS Code to build and debug SciTE.

from scite4autohotkey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.