Hello_world_tcp with C problem

3 posts / 0 new
Last post
Offline
Last seen: 4 years 7 months ago
Joined: 08/11/2019
Posts: 28
Hello_world_tcp with C problem

hello,

I try to use Hello_world_tcp with C, in Windows Systems, VS2017

I follow readme:

Windows Systems
---------------

Use rtiddsgen to generate the solution and project files for your
version of Visual Studio. For example, if both the publisher and the
subscriber application will be compiled with Visual Studio 2017,
run rtiddsgen for the i86Win32VS2017 architecture:

%NDDSHOME\bin\rtiddsgen -language C -example i86Win32VS2017 HelloWorld.idl

Open the solution file for your architecture with Visual Studio. Build the
two projects, HelloWorld_publisher and HelloWorld_subscriber, with the
Win32 Release setting (or Win32 Debug settings if you prefer).

How to Run
==========

1. In your library search path, you MUST have the location of
the transport plugin shared library, because the applications
will load the shared object dynamically when they start.

For Windows systems, you need to add the the directory:

%NDDSHOME%\lib\<architecture>
to your PATH environment variable.

2. To test a WAN scenario, you need to know the public IP address
of each peer and have the firewall correctly configured.
Refer to the Connext User's Manual for more details.

For a LAN scenario or to run the publisher and subscriber on the
same machine, see next section.

3. On one machine, run the publisher:

Windows Systems:

set NDDS_DISCOVERY_PEERS=tcpv4_wan://<subscriber_public_ip:port>
objs\<arch>\HelloWorld_publisher.exe -a <public_ip:port> -p <bind_port>

Replace <subscriber_public_ip:port> with the public IP and port of
the remote peer that will run the subscriber.
Replace <public_ip:port> with your public IP and port that are
exposed to the outside network.
Replace <bind_port> with the port number on your local machine
to listen for incoming connections.
See the example below for a real scenario.

You can add the command-line option '-d <domain>' to specify a
domain ID (if unset, domain ID 0 is used).

but it didn't generate .exe file,

so I can not use "objs\<arch>\HelloWorld_publisher.exe"

how can I solve it?

AttachmentSize
Image icon problem2-2.png103.87 KB
Image icon problem2.png18.54 KB
Keywords:
rip
rip's picture
Offline
Last seen: 5 days 5 hours ago
Joined: 04/06/2012
Posts: 324

You stopped after the rtiddsgen step, apparently, and skipped ahead to the 'how to run' without building the executables first.

Open the solution file for your architecture with Visual Studio. Build the
two projects, HelloWorld_publisher and HelloWorld_subscriber, with the
Win32 Release setting (or Win32 Debug settings if you prefer).

or at least that is what the evidence provided suggests.

Offline
Last seen: 4 years 7 months ago
Joined: 08/11/2019
Posts: 28

Hi rip,

thank a lot,

I follow your suggestion, and update the SDK to solve this problem.

https://developer.microsoft.com/zh-tw/windows/downloads/windows-10-sdk

original I misunderstand that it only generate a .exe file for me,

But after setting "release", it will automatically start the terminal to publish data.