Code Monkey home page Code Monkey logo

Comments (11)

The-Funk avatar The-Funk commented on June 26, 2024 3

/include/viface/viface.cpp needed explicitly #include <functional>
/examples/libtins/libtins.cpp needed explicitly #include <iomanip>

Everything compiles and works now :)

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

Update

libviface will compile under Linux Mint 18.1, cmake version 3.5.1 and make 4.1

IF

The libtins.cpp file under /examples/libtins has the following line added

#include<iomanip>

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

Update to the update

I THINK that the /include/viface/viface.cpp file needs to have the following added in order to get compilation working on my newer Debian system. I will try this when I get home.

#include <functional>

If this is the case, something something something about explicit includes maybe.

from libviface.

carlos-jenkins avatar carlos-jenkins commented on June 26, 2024

Thanks for the report.

Let's keep this open until we fix it in code.

Thanks

from libviface.

carlos-jenkins avatar carlos-jenkins commented on June 26, 2024
  1. examples/libtins/libtins.cpp needed explicitly #include <iomanip>

Added in e918b79 as it was clearly missing.

  1. include/viface/viface.cpp needed explicitly #include <functional>

There is no such file. Do you mean viface.hpp? This is the public header, and I don't see any public API using anything from <functional>. Did you mean include/viface/private/viface.hpp?

What failed when you tried to build?

The only think I see is using function is test/catch.hpp, which is the testing framework https://github.com/catchorg/Catch2 that can be updated by just updating that file.

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

It's actually /include/viface/viface.hpp sorry, I didn't notice it was a header at first, I'm used to using .h even in c++. I'm bad, I know.

Line 56 of that file specifically failed with the error, ‘function’ in namespace ‘std’ does not name a template type

I believe I have a rather new version of gcc and that's why this happened. If you include functional in that specific header file it compiles. I'm not sure if this is the correct solution but I will get back to you on that as soon as I implement the library here in a second.

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

When I tried to use the library last night I encountered an error while loading shared library object. So I believe I still have an issue.

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

Update:

I suppose it would have helped if after I installed the library to my system I had run ldconfig to update the ld.so.cache

Testing now and everything compiles and works properly! So the two changes I mentioned above took care of everything. :)

If you want to replicate my environment, I'm using a Debian Testing based Linux distribution, specifically Kali Linux.

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

Last update, I promise.
I can confirm that the issue with needing to include functional is only present when using a newer compiler. On my Linux Mint system (using an older compiler) the only issue that needed corrected was the iomanip include.

Here's a detailed list of the compilers included by default in the different Debian distributions
https://packages.debian.org/search?keywords=g%2B%2B
My Kali Linux station is based on Debian Testing which comes with g++ 7.2.0

And here's a detailed list of the compilers included by default in Ubuntu based distributions
https://packages.ubuntu.com/search?keywords=g%2B%2B
My Linux Mint dev station is based on Ubuntu 16.04 which comes with g++ 5.3.1

from libviface.

carlos-jenkins avatar carlos-jenkins commented on June 26, 2024

This was fixed in e918b79 and in #5, sorry to keep this open so much.

from libviface.

The-Funk avatar The-Funk commented on June 26, 2024

from libviface.

Related Issues (5)

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.