Skip to content
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

Compile error with Windows ninja build #40

Closed
Levi-Armstrong opened this issue Jun 1, 2021 · 3 comments
Closed

Compile error with Windows ninja build #40

Levi-Armstrong opened this issue Jun 1, 2021 · 3 comments

Comments

@Levi-Armstrong
Copy link

The OSQP library and related QDLDL library are renaming the static library target to have the same name as the shared target. This is fine on Linux, since shared and static libraries have different extensions. On Windows, static libraries have a .lib extension, while shared libraries have a .dll extension, but also produce a .lib file that contains linking information. (Linux and OSX don't have this second linker file. They just use the .so or .dylib file.) Renaming to have the same name between static and shared results in a name conflict. Before this error was being silently ignored.

This is a cross-post of an issue on the tesseract_planning repository which has more information provided by the author of the issue.

@traversaro
Copy link

The problem described in this issue probably would affect also other Windows generators (for example Visual Studio) as soon as https://github.com/osqp/qdldl/pull/36/files is merged, as after that PR is merged both the qdldl target and the qdldlstatic target will generate a out/osqp.lib . At the moment the problem is hidden as the qdldl shared library does not expose symbols, so no imported library osqp.lib is created.

@Levi-Armstrong
Copy link
Author

@traversaro Can this be closed not that the PR is merged?

@traversaro
Copy link

traversaro commented Jun 17, 2022

@Levi-Armstrong I think the problem was solved by #38, as now you can select to compile only the shared or only the static libraries. If you want to compile both shared and static at the same time the problem is still there, but I think that make sense. If you like, feel free to close the issue (to clarify, I am not related to this repo in any way, beside the fact that I am a user).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants