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

Building in Windows ( Cannot open include file: 'unistd.h') #3

Open
DJuego opened this issue Jan 19, 2021 · 5 comments
Open

Building in Windows ( Cannot open include file: 'unistd.h') #3

DJuego opened this issue Jan 19, 2021 · 5 comments

Comments

@DJuego
Copy link

DJuego commented Jan 19, 2021

Hi!
In my humble opinion, it would be really interesting to offer a multiplatform solution of nanoplan. :-D
I am working in Windows 10 x64/Visual Studio 2019.
I'm trying to build the demo. However, the unistd.h file is not standard in Windows.

DJuego

Build started...
1>------ Skipped Build: Project: Continuous, Configuration: Release x64 ------
1>Project not selected to build for this solution configuration 
2>------ Skipped Build: Project: Experimental, Configuration: Release x64 ------
2>Project not selected to build for this solution configuration 
3>------ Skipped Build: Project: Nightly, Configuration: Release x64 ------
3>Project not selected to build for this solution configuration 
4>------ Skipped Build: Project: NightlyMemoryCheck, Configuration: Release x64 ------
4>Project not selected to build for this solution configuration 
5>------ Build started: Project: demo_nanoplan, Configuration: Release x64 ------
5>demo.cpp
5>P:\Compilados\x32-x64\TRABAJO_MSVC2019_x64\nanoplan\include\nanoplan\cost.h(18,31): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
5>P:\Compilados\x32-x64\TRABAJO_MSVC2019_x64\nanoplan\include\nanoplan\cost.h(19,30): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
5>P:\Compilados\x32-x64\TRABAJO_MSVC2019_x64\nanoplan\include\nanoplan\cost.h(55,15): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
5>P:\Compilados\x32-x64\TRABAJO_MSVC2019_x64\nanoplan\demo\demo.cpp(4,10): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
5>Done building project "demo_nanoplan.vcxproj" -- FAILED.
6>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------
6>Project not selected to build for this solution configuration 
========== Build: 0 succeeded, 1 failed, 5 up-to-date, 5 skipped ==========
@jsford
Copy link
Owner

jsford commented Feb 19, 2021

Hi DJuego! I appreciate your interest in my work.

I've gotten bogged down working on my PhD thesis lately. I'll see what I can do to help you out.

@jsford
Copy link
Owner

jsford commented Feb 19, 2021

The latest commit uses std::this_thread::sleep_for instead of usleep for cross-platform portability.

@DJuego
Copy link
Author

DJuego commented Feb 20, 2021

@jsford Thank you very much for your reply and your fixing! :-)

I understand perfectly what you mean by your situation with your PhD Thesis. 😥
Could I ask you what your topic is? ☺️

I have tested the master with last commit. Unfortunately, building cannot yet be completed...

DJuego

Build started...
1>------ Skipped Build: Project: Continuous, Configuration: Release x64 ------
1>Project not selected to build for this solution configuration 
2>------ Skipped Build: Project: Experimental, Configuration: Release x64 ------
2>Project not selected to build for this solution configuration 
3>------ Skipped Build: Project: Nightly, Configuration: Release x64 ------
3>Project not selected to build for this solution configuration 
4>------ Skipped Build: Project: NightlyMemoryCheck, Configuration: Release x64 ------
4>Project not selected to build for this solution configuration 
5>------ Build started: Project: demo_nanoplan, Configuration: Release x64 ------
5>demo.cpp
5>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(18,31): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
5>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(19,30): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
5>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(55,15): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,20): warning C4003: not enough arguments for function-like macro invocation 'max'
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(96,28): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(99,57): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(102,50): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(105,48): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(108,49): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,20): error C2589: '(': illegal token on right side of '::'
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61): error C2062: type 'unknown-type' unexpected
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,1): error C2059: syntax error: ')'
5>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(205,3): error C3861: 'showcursor': identifier not found
5>Done building project "demo_nanoplan.vcxproj" -- FAILED.
6>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------
6>Project not selected to build for this solution configuration 
========== Build: 0 succeeded, 1 failed, 5 up-to-date, 5 skipped ==========

@jsford
Copy link
Owner

jsford commented Feb 20, 2021

Hi DJuego,

I'm at Carnegie Mellon working on planning and photogrammetry algorithms for autonomous lunar rovers. What are you working on?

Sadly, I don't have a good way to test on Windows right now. I think the code I am using to manipulate the terminal to render the demo is not cross-platform. In the meantime, the library code should work just fine without the demo.

@DJuego
Copy link
Author

DJuego commented Feb 21, 2021

Hi again, @jsford!

Thank you for your updating! It is not yet possible to run the demo but the construction is significantly better. Thanks!! I attach a full updated compilation log with warnings and errors,

Autonomous lunar rovers? Impressive!! Good luck with that! In comparison my PHD is much more boring. It was on machine vision: An industrial OCR. But that was years ago... I have now been recruited to contribute to a research project on indoor positioning. However, at the moment my interest in nanoplan is just for fun. :-)

DJuego

2021-02-21_102243

Rebuild started...
1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Release x64 ------
1>Checking Build System
2>------ Rebuild All started: Project: fmt, Configuration: Release x64 ------
3>------ Rebuild All started: Project: Catch2WithMain, Configuration: Release x64 ------
4>------ Rebuild All started: Project: test_nanoplan, Configuration: Release x64 ------
5>------ Skipped Rebuild All: Project: Continuous, Configuration: Release x64 ------
5>Project not selected to build for this solution configuration 
6>------ Skipped Rebuild All: Project: Experimental, Configuration: Release x64 ------
6>Project not selected to build for this solution configuration 
7>------ Skipped Rebuild All: Project: Nightly, Configuration: Release x64 ------
7>Project not selected to build for this solution configuration 
8>------ Skipped Rebuild All: Project: NightlyMemoryCheck, Configuration: Release x64 ------
8>Project not selected to build for this solution configuration 
2>Building Custom Rule P:/Compilados/x32-x64/nanoplan/build/_deps/fmt-src/CMakeLists.txt
2>format.cc
3>Building Custom Rule P:/Compilados/x32-x64/nanoplan/build/_deps/catch2-src/CMakeLists.txt
4>Building Custom Rule P:/Compilados/x32-x64/nanoplan/test/CMakeLists.txt
3>catch_with_main.cpp
4>test_main.cpp
2>os.cc
2>Generating Code...
4>test_queues.cpp
2>fmt.vcxproj -> P:\Compilados\x32-x64\nanoplan\build\_deps\fmt-build\Release\fmt.lib
9>------ Rebuild All started: Project: demo_nanoplan, Configuration: Release x64 ------
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(18,31): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(19,30): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(55,15): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(110,1): warning C4267: '=': conversion from 'size_t' to 'V', possible loss of data
4>        with
4>        [
4>            V=unsigned long
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(107): message : while compiling class template member function 'void nanoplan::PriorityQueueWithRemove<std::string,double,std::less<PRIORITY>>::insert(const VALUE &,const PRIORITY &)'
4>        with
4>        [
4>            PRIORITY=double,
4>            VALUE=std::string
4>        ]
4>P:\Compilados\x32-x64\nanoplan\test\test_queues.cpp(33): message : see reference to function template instantiation 'void nanoplan::PriorityQueueWithRemove<std::string,double,std::less<PRIORITY>>::insert(const VALUE &,const PRIORITY &)' being compiled
4>        with
4>        [
4>            PRIORITY=double,
4>            VALUE=std::string
4>        ]
4>P:\Compilados\x32-x64\nanoplan\test\test_queues.cpp(32): message : see reference to class template instantiation 'nanoplan::PriorityQueueWithRemove<std::string,double,std::less<PRIORITY>>' being compiled
4>        with
4>        [
4>            PRIORITY=double
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(111,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(95,1): warning C4267: '=': conversion from 'size_t' to 'V', possible loss of data
4>        with
4>        [
4>            V=unsigned long
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(78): message : while compiling class template member function 'void nanoplan::PriorityQueueWithRemove<std::string,double,std::less<PRIORITY>>::remove(const VALUE &)'
4>        with
4>        [
4>            PRIORITY=double,
4>            VALUE=std::string
4>        ]
4>P:\Compilados\x32-x64\nanoplan\test\test_queues.cpp(50): message : see reference to function template instantiation 'void nanoplan::PriorityQueueWithRemove<std::string,double,std::less<PRIORITY>>::remove(const VALUE &)' being compiled
4>        with
4>        [
4>            PRIORITY=double,
4>            VALUE=std::string
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(100,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(102,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>test_planners.cpp
9>Building Custom Rule P:/Compilados/x32-x64/nanoplan/demo/CMakeLists.txt
9>demo.cpp
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(18,31): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(19,30): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(55,15): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
9>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(18,31): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
9>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(19,30): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
9>P:\Compilados\x32-x64\nanoplan\include\nanoplan\cost.h(55,15): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\hash.h(52,1): warning C4267: 'argument': conversion from 'size_t' to 'const uint32_t', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\test\test_planners.cpp(12): message : see reference to function template instantiation 'void nanoplan::hash_combine<int,int>(size_t &,const T &,int)' being compiled
4>        with
4>        [
4>            T=int
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\planner.h(136,66): warning C4244: 'return': conversion from '_Rep' to 'double', possible loss of data
4>        with
4>        [
4>            _Rep=__int64
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\planner.h(133): message : while compiling class template member function 'double nanoplan::Planner<SPACE>::check_timer(void) const'
4>        with
4>        [
4>            SPACE=Space2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\dijkstra.h(86): message : see reference to function template instantiation 'double nanoplan::Planner<SPACE>::check_timer(void) const' being compiled
4>        with
4>        [
4>            SPACE=Space2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\dijkstra.h(41): message : while compiling class template member function 'nanoplan::Dijkstra<Space2D>::Dijkstra(std::shared_ptr<Space2D>)'
4>P:\Compilados\x32-x64\nanoplan\test\test_planners.cpp(36): message : see reference to function template instantiation 'nanoplan::Dijkstra<Space2D>::Dijkstra(std::shared_ptr<Space2D>)' being compiled
4>P:\Compilados\x32-x64\nanoplan\test\test_planners.cpp(36): message : see reference to class template instantiation 'nanoplan::Dijkstra<Space2D>' being compiled
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(110,1): warning C4267: '=': conversion from 'size_t' to 'V', possible loss of data
4>        with
4>        [
4>            V=unsigned long
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(107): message : while compiling class template member function 'void nanoplan::PriorityQueueWithRemove<State2D,nanoplan::LPAStar<Space2D>::Key,std::less<PRIORITY>>::insert(const VALUE &,const PRIORITY &)'
4>        with
4>        [
4>            PRIORITY=nanoplan::LPAStar<Space2D>::Key,
4>            VALUE=State2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\lpastar.h(141): message : see reference to function template instantiation 'void nanoplan::PriorityQueueWithRemove<State2D,nanoplan::LPAStar<Space2D>::Key,std::less<PRIORITY>>::insert(const VALUE &,const PRIORITY &)' being compiled
4>        with
4>        [
4>            PRIORITY=nanoplan::LPAStar<Space2D>::Key,
4>            VALUE=State2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\lpastar.h(58): message : see reference to class template instantiation 'nanoplan::PriorityQueueWithRemove<State2D,nanoplan::LPAStar<Space2D>::Key,std::less<PRIORITY>>' being compiled
4>        with
4>        [
4>            PRIORITY=nanoplan::LPAStar<Space2D>::Key
4>        ]
4>P:\Compilados\x32-x64\nanoplan\test\test_planners.cpp(50): message : see reference to class template instantiation 'nanoplan::LPAStar<Space2D>' being compiled
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(111,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(95,1): warning C4267: '=': conversion from 'size_t' to 'V', possible loss of data
4>        with
4>        [
4>            V=unsigned long
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(78): message : while compiling class template member function 'void nanoplan::PriorityQueueWithRemove<State2D,nanoplan::LPAStar<Space2D>::Key,std::less<PRIORITY>>::remove(const VALUE &)'
4>        with
4>        [
4>            PRIORITY=nanoplan::LPAStar<Space2D>::Key,
4>            VALUE=State2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\lpastar.h(208): message : see reference to function template instantiation 'void nanoplan::PriorityQueueWithRemove<State2D,nanoplan::LPAStar<Space2D>::Key,std::less<PRIORITY>>::remove(const VALUE &)' being compiled
4>        with
4>        [
4>            PRIORITY=nanoplan::LPAStar<Space2D>::Key,
4>            VALUE=State2D
4>        ]
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(100,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>P:\Compilados\x32-x64\nanoplan\include\nanoplan\priority_queue.h(102,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned long', possible loss of data
4>Generating Code...
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,20): warning C4003: not enough arguments for function-like macro invocation 'max'
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(96,28): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(99,57): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(102,50): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(105,48): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(108,49): warning C4566: character represented by universal-character-name '\u2588' cannot be represented in the current code page (1252)
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,20): error C2589: '(': illegal token on right side of '::'
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61): error C2062: type 'unknown-type' unexpected
9>P:\Compilados\x32-x64\nanoplan\demo\demo.cpp(61,1): error C2059: syntax error: ')'
9>Done building project "demo_nanoplan.vcxproj" -- FAILED.
3>Catch2WithMain.vcxproj -> P:\Compilados\x32-x64\nanoplan\build\_deps\catch2-build\Release\Catch2WithMain.lib
4>test_nanoplan.vcxproj -> P:\Compilados\x32-x64\nanoplan\build\test\Release\test_nanoplan.exe
4>Done building project "test_nanoplan.vcxproj".
10>------ Rebuild All started: Project: ALL_BUILD, Configuration: Release x64 ------
10>Building Custom Rule P:/Compilados/x32-x64/nanoplan/CMakeLists.txt
11>------ Skipped Rebuild All: Project: INSTALL, Configuration: Release x64 ------
11>Project not selected to build for this solution configuration 
========== Rebuild All: 5 succeeded, 1 failed, 5 skipped ==========

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