-
Notifications
You must be signed in to change notification settings - Fork 39
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
Windows: basic compatibilty issues #23
Comments
CppadCodegen does not explicitly support Windows mainly because I don't really use it. Regarding your suggestions:
This, however, will not be enough to fully support windows. |
Yes, that's true, there are a few more changes to make in order to have it working in windows. But particularly with the first two basic issues (see above) respected it's at least a little less cumbersome. |
I've implemented the 3 items. What kind of features would you need in the dynamic library handling classes? |
Alright, thanks. |
Yes, a pull request would be great. |
In case there is some interest regarding the usability of CppADCodeGen within Windows (e.g. VS 2015) I'd like to share a few basic compatibilty issues.
In fact, these are rather minor but have quite an impact since they appear in several places throughout all the source code.
Therefore, in the following I list representative examples and suggestions for their principle replacements which should work for both, Windows and Linux (g++):
suggested change of, e.g.,
std::max(size_t(123), 124)
tostd::max<size_t>(size_t(123), 124)
and
std::min(size_t(123), 124)
tostd::min<size_t>(size_t(123), 124)
, i.e. std::max/std::min should carry a template argument specifying the data type which is relevant for the two passed numbers.suggested change of, e.g.,
std::numeric_limits<int>::max()
to(std::numeric_limits<int>::max)()
and
std::numeric_limits<int>::min()
to(std::numeric_limits<int>::min)()
there exist some problems with the operator
<<
, it's overloading and the typesize_t
/__int64
in Windows. This, at least, applies only to recent changes (commit from Jun 13, 2019) and, so far, can be easily fixed in /lang/lang_stream_stack.hpp by adding:The text was updated successfully, but these errors were encountered: