-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supporting Windows? #123
Comments
I'm don't own a Windows machine myself. But if someone take over the task, I would happily help them. |
I will look into this. Is the goal to compile with MSVC, with one of the ports of GCC to windows (Cygwin or MinGW), or something else? |
Thanks @DThiebaud (: |
Thank you all for your attention and interest! |
I cannot build libtocc/test without errors under Linux (Ubuntu 21.10). The linker gets loads of link errors because it cannot find Catch2 library, Howevever, Catch2.a is in /usr/lib. What am I doing wrong? |
I cannot build toccfs. Configure gives an error saying that fuse is not found, hoever I have fuse installed. Where is configure looking for fuse? |
I managed to compile both on my Ubuntu 20.04. For tests, note that it depends on version one of Catch. I compiled and run tests with For the fuse, do you have |
I installed libfuse-dev and now I can build toccfs successfully under Ubuntu 21.10. However, when I download Catch v1.10.0 into /usr/local/include, ./configure for tests still says it can't find it. See the attached print file. I"m sure I'm doing something wrong, but what? I'll try under Ubuntu 20.4 and see what results I get |
I have successfully created MSVC projects for libtocc and CLI which build successfully. I will now turn my attention to libtocc\tests. |
jTo compile libtocc/test on Ununtu 21.10, I had to edit catch.hpp. It was looking for SIGSTKSZ which wasn't defined. I replaced SIGSTKSZ with 100000 on two lines and it built cleanly and executed with no errors. Now to build the tests in MSVC. |
I have built the tests in MSVC, but they all fail saying the database is not initialized. Do I have to initialize the database with CLI before I run the tests? Or do I have a bug somewhere? |
That's strange. The only thing I can think of is that you still have version two of Catch somewhere. And for some reason, it picks version two at the compile time.
That's good news that you managed to compile and run it! Thanks for the hard work. |
I have libtocc libtocctests and cli building successfully in Linux and in MSCV. Libtocctests executes with all tests passed. I have not test CLI--do you have tests for it? |
Thanks for all the effort! I wouldn't spend time on FUSE. As you said, it doesn't officially support Windows. So, I imagine we would have a hard time maintaining toccfs in a way that it runs on Windows (and keeping guides and documents up-to-date about how to compile and use it under Windows.) |
I will include a readme on how to build with msvc. Basically, it requires opening the "solution" in MSVC gui and telling MSVC to build it. I cannot get Catch v.1 to work under Windows. Functions defined in the header files are compiled into multiple object files and cause link errors about multiply define entry points. This seems to work under LInux but does not work under Windows. To work under Windows, I needed to go to Catch v. 3, which consists of header file catch_amalgamated.cpp and catch_amalgamated.h. This does not require source-code changes to TOCC and works under both Linux and Windows. Again like with unqlite, I have while developing included these files in the TOCC directory tree but this is not necessary if you do not like it. I need to research the default include and lib directories for Windows. |
There apparently aren't default include and lib directories in Windows. We need to copy unqlite and catch_amalgamated files to the TOCC directory under MSVC. It might simplify things if we do this under Linux as well and include these files in git. |
For the But for the Catch, I prefer not to. Users should get the latest version which can include bug fixes and potentially vulnerabilities fixes. Also, can you please update the documents instead of the README.md file? Each project has a guide for how to compile it: |
Any comment on the pull request? |
As title, thanks!
The text was updated successfully, but these errors were encountered: