Hi Gunnar,
somehow my answer to the SUMO mailing list always gets marked as spam.
Here it is: Add "ws2_32.lib" to the linker files in the project
properties. It contains the functions for Windows socket calls. I recall
the troubles I had when trying out the C++ version of TraCI.
Regards
Mirko
Am 05.06.2018 um 13:59 schrieb Diestmann, Gunnar via sumo-user:
Hallo Sumo Users,
At first I want to say sorry for the long text. I hope you will read it anyway.
I tried to describe my problem as accurate as possible so you might have a
change to know what the problem could be or what mistake I am making. I want
connect SUMO with a other program. Therefor I want to use the TraCI interface.
At first I used TraCI/Interfacing_TraCI_from_Python. The documentation on the
wiki is pretty good and I was able to connect to SUMO via TraCI and control one
of the cars in the simulation. Now I want to do the same using
TraCI/C++TraCIAPI. There for I tried to follow the guide I found in the wiki:
http://sumo.sourceforge.net/userdoc/TraCI/C%2B%2BTraCIAPI.html
I am trying for 3 days now just to get a TraCI connection using the example
code given in the guide but I can't even compile the Project. I tried several
things but nothing seems to work and I could really need some help on how to do
it the right way. This is what I already tried:
1. Creating and compiling a project in Visual Studio in Windows 7:
I already build SUMO in Visual Studio. Therefor I also added the Fox, XERCES,
PROJ and GDAL libraries.
Then I created a new C++ Win32 Console Application and saved it in a file that is located on my
desktop. In this project I created a new main.cpp file with the example code given in the guide. I
copied all files out of the SUMO-source tree that where listed in the guide (TraCIAPI.h,
TraCIAPI.cpp, socket.h, socket.cpp, storage.h, storage.cpp, TraCIConstants.h, TraCIDefs.h
windows_config.h) and paste them into the folder where the main.cpp file was located. I add all
files to the project and changed the paths for the include commands for all files in the same
folder (e.g. #include <foreign/tcpip/socket.h> -> #include "socket.h" ) .
When I try to build it I get the following linking error: LNK2019
File:socket.obj
[cid:[email protected]]
I couldn't find out how to solve this error since socket.obj is created by
visual studio when I build the project.
I also tried to run it in x64. The same error accrued.
So my question here is: Is there anything I do wrong? Do all these files have
to be located in the SUMO src folder so it can work? Do I have to use a special
compiler? On the wiki I couldn't find anything about a compiler. However in the
guide the project is compiled in the terminal using g++. So I thought maybe I
will have to use MinGW as a compiler.
2. Since this didn't work I also tried to build the project using the
windows command line and downlaode the MinGW compiler. Therefor I used the
command that was given in the guide:
g++ -std=c++0x -o test main.cpp TraCIAPI.cpp socket.cpp storage.cpp
When I do that I get the following error:
No such file or directory <netinet/in.h>
The netinet/in.h is included in the socket.spp file. I couldn't find any netinet
folder in the SUMO source tree. Is that a Visual Studio add on or do I have to add
another library? I read some where, that I have to include winsock2.h instead of
<netinet/in.h>. So is the socket.spp file just not up to date?
3. In the guide I also read about the TraCI testclient. However I couldn't
find any description how to set it up or what the output would be when I run
it. So I tried to build it with the windows console. There for I used the
command that is also given in the guide when you want to build the TraCI file
when, SUMO is already built and the files are not in the same directory, and
patched it so it would run the testclient:
g++ -std=c++0x -o test tracitestclient.cpp ../utils/traci/libtraci.a
../foreign/tcpip/storage.o ../foreign/tcpip/socket.o -I .
that doesn't work because it can't find the libtraci.a, the storage.o and the
socket.o files.
Is there any guide on how to set up the TraCi Testclient? Or can anyone tell me
what my mistake is?
I would be really happy for any advice. I am not really sure what else I can
try.
Thank you very much.
Best regards
Gunnar
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
sumo-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/sumo-user
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
sumo-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sumo-user